Part Number Hot Search : 
2SC3770 RF7389 SKL32 SKL32 C34063 PCF8576C C4060 SM3P2
Product Description
Full Text Search
 

To Download CAP1028-1-BP-TR Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  smsc cap1028 datasheet revision 1.0 (06-16-09) datasheet product features cap1028 8 channel capacitive touch sensor with 2 led drivers general description the cap1028 is a multiple channel capacitive touch sensor with multiple power le d drivers. it contains eight (8) individual capacitive touch sensor inputs with programmable sensitivity for use in touch sensor applications. each sensor au tomatically recalibrates to compensate for gradual environmental changes. the cap1028 also contains two (2) led drivers that offer full-on / off, variable rate blinking, dimness controls, and breathing. each of the led drivers may be linked to one of the sensors to be actuated when a touch is detected. as well, each le d driver may be individually controlled via a host controller. the cap1028 offers multiple power states operating at low quiescent currents. during the standby mode of operation, one or more capacitive touch sensors are active and all leds may be used. if a touch is detected, then it will wake the system using the wake/spi_mosi pin. the deep sleep mode of oper ation is the lowest power state available drawing 5 ua of current. during this mode, no sensors are active though all leds may be used. driving the wake/spi_mosi pin or communications will wake the device. applications ? desktop and notebook pc?s ? lcd monitors ? printers ? appliances features ? eight (8) capacitive touch sensor inputs ? programmable sensitivity ? automatic recalibration ? individual thresholds for each button ? flexible capacitive touch sense algorithm ? multiple communication interfaces ?smbus / i 2 c compliant interface ? smsc bc-link interface ? spi communications ? pin selectable communications protocol and multiple slave addresses (smbus / i 2 c only) ? low power operation ? 5 ua quiescent current in deep sleep ? samples one or more channels in standby ? two (2) led driver outputs ? open drain or push-pull ? programmable blink, breathe, and dimness controls ? can be linked to capacitive touch sensors ? dedicated wake output flags touches in low power mode ? system reset pin ? available in 20-pin 4mm x 4mm rohs compliant qfn package block diagram note: i 2 c is a trademark of nxp semiconductor. bc-link is a trademark of smsc. smbus / bc- link / spi slave protocol smclk/ bc_clk / spi_clk smdata / bc_data/ spi_msio / spi_miso vdd gnd alert# / bc_irq# capacitive sensing algorithm led1 cs1 cs2 cs3 cs4 cs5 cs6 led driver, breathe, and dimness control wake / spi_mosi cs7 cs8 reset addr_comm spi_cs# led2
reel size is 4,000 pieces ordering number package features CAP1028-1-BP-TR 20-pin qfn 4mm x 4mm (lead free rohs compliant) eight capacitive touch sensors, two led drivers, dedicated wake, reset, smbus / bc-link / spi interfaces 8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 2 smsc cap1028 datasheet 80 arkay drive, hauppauge, ny 11788 (631) 435-6000, fax (631) 273-3123 copyright ? 2009 smsc or its subsidiaries. all rights reserved. circuit diagrams and other information relating to smsc produc ts are included as a means of illustrating typical applications. consequently, complete information sufficient for construction purposes is not necessarily given. although the information has been checked and is believed to be accurate, no re sponsibility is assumed for inaccuracies. smsc reserves the right to make changes to specifications and produc t descriptions at any time without notice. contact your local sm sc sales office to obtain the latest specifications before placing your product order. the provision of this inform ation does not convey to the purchaser of the described semicond uctor devices any licenses under any patent rights or other intellectual property rights of smsc or others. all sales are expressly conditional on your agreement to the te rms and conditions of the most recently dated version of smsc's standard terms of sale agreement dated before the date of your order (the "terms of sale agreement"). the pro duct may contain design defects or errors known as anomalies which may cause the product's functions to deviate from published specifications. anomaly sheets are availab le upon request. smsc products are not designed, intended, authorized or warranted for use in any life support or other application where product failure could cause or contribute to personal injury or severe property damage. any and all such uses without prior written approval of an officer of smsc and further testing and/or modification will be fully at the risk of the customer. copies of this document or other smsc literature, as well as the terms of sale agreement, may be obtained by visiting smsc?s website at h ttp://www.smsc.com. smsc is a registered trademark of standard microsystems corporat ion (?smsc?). product names and company na mes are the trademarks of their respective holders. smsc disclaims and excludes any and all warrant ies, including without limi tation any and all implied warranties of merchantabil ity, fitness for a particular purpose, title, a nd against infringement and the like, and any and all warranties arising from any cou rse of dealing or usage of trade. in no event shall smsc be liable for any direct, incidental, indi rect, special, punitive, or cons equential damages; or for lost data, profits, savings or revenues of any kind; regardless of the form of action, whether based on contrac t; tort; negligence of smsc or others; strict liability; breach of wa rranty; or otherwise; whether or not any remedy of buyer is h eld to have failed of its essential purpose, and whether or not smsc has been advised of the possibility of such damages. ordering information
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 3 revision 1.0 (06-16-09) datasheet table of contents chapter 1 pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 chapter 2 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 chapter 3 communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1 communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.1 smbus (i 2 c) communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.2 spi communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.3 bc-link communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 system management bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.1 smbus start bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.2 smbus address and rd / wr bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.3 smbus data bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.4 smbus ack and nack bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.5 smbus stop bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.6 smbus timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2.7 smbus and i 2 c compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 smbus protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.1 smbus write byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.2 block write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.3 smbus read byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.4 block read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.5 smbus send byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.6 smbus receive byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4 spi interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.1 spi normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.2 spi bi-directional mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.3 spi_cs# pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.4 address pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.5 spi timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.5 normal spi protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.5.1 reset interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.2 set address pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5.3 write data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5.4 read data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.6 bi-directional spi protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.6.1 reset interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.6.2 set address pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.6.3 write data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.6.4 read data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.7 bc-link interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 chapter 4 general description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.1 power states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 reset pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.3 wake/spi_mosi pin operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.4 led drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.4.1 linking leds to capacitive touch sensors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5 capacitive touch sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5.1 sensing cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5.2 recalibrating sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 4 smsc cap1028 datasheet 4.6 alert# pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.6.1 sensor interrupt behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 chapter 5 register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.1 main status control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.2 status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2.1 sensor status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2.2 led status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3 noise flag status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.4 sensor delta count registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.5 sensitivity control register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.6 configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.7 sensor enable registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.8 sensor configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.9 sensor configuration 2 register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.10 averaging and sampling configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1 5.11 calibration activate registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.12 interrupt enable register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.13 repeat rate enable register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.14 multiple touch configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.15 recalibration configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.16 sensor threshold registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.17 sensor noise threshold registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.17.1 sensor noise threshold 1 register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.17.2 sensor noise threshold 2 register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.18 standby channel register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.19 standby configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.20 standby sensitivity register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.21 standby threshold register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.22 sensor base count registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.23 led output type register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.24 sensor led linking register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.25 led polarity register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.26 led output control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.27 led behavior registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.28 led pulse 1 period register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.29 led pulse 2 period register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.30 led breathe period register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.31 led configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.32 led duty cycle registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.33 led direct ramp rates register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.34 led off delay register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.35 product id register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.36 manufacturer id register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.37 revision register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 chapter 6 package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.1 cap1028 package drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.2 package marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 chapter 7 revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 5 revision 1.0 (06-16-09) datasheet list of figures figure 1.1 cap1028 pin diagram (20-pin qfn). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 figure 3.1 smbus timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 figure 3.1 spi timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 figure 3.1 example spi bus communication - normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 figure 3.2 spi reset interface command - normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 figure 3.3 spi set address pointer command - normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 figure 3.4 spi write command - normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 figure 3.5 spi read command - normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 figure 3.6 spi read command - normal mode - full . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 figure 3.7 spi reset interface command - bi-directional mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 figure 3.8 spi set address pointer command - bi-directional mode. . . . . . . . . . . . . . . . . . . . . . . . . . . 24 figure 3.9 spi write data command - bi-directional mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 figure 3.10 spi read data command - bi-directional mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 figure 4.1 system diagram for cap1028 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 figure 4.2 sensor interrupt behavior - repeat rate enabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 figure 4.3 sensor interrupt behavior - no repeat rate enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 figure 5.1 pulse behavior with non-inverted polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 figure 5.2 pulse behavior with inverted polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 figure 5.3 pulse 2 behavior with non-inverted polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 figure 5.4 pulse 2 behavior with inverted po larity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 figure 5.5 direct mode behavior for non-inve rted polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 figure 5.6 direct mode behavior for inverted polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 figure 6.1 20-pin qfn 4mm x 4mm package drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 figure 6.2 20-pin qfn 4mm x 4mm package dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 figure 6.3 20-pin qfn 4mm x 4mm pcb drawing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 figure 6.4 cap1028 package markings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 6 smsc cap1028 datasheet list of tables table 1.1 pin description for cap1028 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 table 1.2 pin types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 table 2.1 absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 table 2.2 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 table 3.1 addr_comm pin decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 table 3.2 protocol format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 table 3.3 write byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 table 3.4 block write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 table 3.5 read byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 table 3.6 block read protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 table 3.7 send byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 table 3.8 receive byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 table 5.1 register set in hexadecimal order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 table 5.2 main status control register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 table 5.3 status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 table 5.4 noise flag status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 table 5.5 sensor delta count registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 table 5.6 data scaling register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 table 5.7 delta_sense bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 table 5.8 base_shift bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 table 5.9 configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 table 5.10 sensor enable registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 table 5.11 sensor configuration register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 table 5.12 max_dur bit decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 table 5.13 rpt_rate bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 table 5.14 sensor configuration 2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 table 5.15 averaging and sampling configuration register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 table 5.16 avg bit decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 table 5.17 cycle_time bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 table 5.18 calibration activate registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 table 5.19 interrupt enable register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 table 5.20 repeat rate enable register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 table 5.21 multiple touch configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 table 5.22 b_mult_t bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 table 5.23 recalibration configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 table 5.24 neg_delta_cnt bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 table 5.25 cal_cfg bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 table 5.26 sensor threshold registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 table 5.27 sensor noise threshold registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 table 5.28 csx_bn_th bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 table 5.29 standby channel register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 table 5.30 standby configuration register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 table 5.31 stby_avg bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 table 5.32 stby_cy_time bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 table 5.33 standby configuration register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 table 5.34 stby_sense bit decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 5.35 standby threshold register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 5.36 sensor base count registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 5.37 led output type register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 5.38 sensor led linking register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 5.39 led polarity register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 table 5.40 led output control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 7 revision 1.0 (06-16-09) datasheet table 5.41 led polarity behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 table 5.42 led behavior registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 5.43 ledx_ctl bit decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 table 5.44 led pulse 1 period register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 table 5.45 led pulse / breathe period example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 table 5.46 led pulse 2 period register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 table 5.47 led behavior registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 table 5.48 led configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 table 5.49 pulsex_cnt decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 table 5.50 led duty cycle registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 table 5.51 led duty cycle decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 table 5.52 led direct ramp rates register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 table 5.53 rise / fall rate and off delay deco de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 table 5.54 led off delay register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 table 5.55 product id register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 table 5.56 vendor id register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 table 5.57 revision register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 table 7.1 customer revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 8 smsc cap1028 datasheet chapter 1 pin description figure 1.1 cap1028 pin diagram (20-pin qfn) table 1.1 pin description for cap1028 pin number pin name pin function pin type 1 spi_cs# active low chip-select for spi bus di (5v) 2 wake / spi_mosi wake - active high wake / interrupt output standby power state do wake - active high wake input - requires pull-down resistor deep sleep power state di spi_mosi - spi master-out-slave -in port when used in normal mode di (5v) 1 2 3 4 15 14 13 12 20 19 18 17 6 7 8 9 gnd alert# / bc_irq# wake / spi_mosi spi_cs# smclk / bc_clk / spi_clk smdat / bc_data / spi_msio / spi_miso cs7 reset cs5 cs6 5 10 11 16 vdd cs1 cs2 cs4 cs8 cs3 n/c led2 led1 addr_comm cap1028 20 pin qfn n/c
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 9 revision 1.0 (06-16-09) datasheet the pin types are described in detail below. all pins labelled with (5v) are 5v tolerant. 3 smdata / bc_data / spi_msio / spi_miso smdata - bi-directional, open-drain smbus data - requires pull-up resistor diod (5v) bc_data - bi-directional, open-drain bc-link data - requires pull-up resistor dio spi_msio - spi master-slave-in- out bidirectional port when used in bi-directional mode dio spi_miso - spi master-in-slave- out port when used in normal mode do 4 smclk / bc_clk / spi_clk smclk - smbus clock input - requires pull-up resistor di (5v) bc_clk - bc-link clock input di (5v) spi_clk - spi clock input di (5v) 5 n/c not internally connected n/a 6led1 open drain led 1 driver (default) od (5v) push-pull led 1 driver do 7led2 open drain led 2 driver (default) od (5v) push-pull led 2 driver do 8 n/c not internally connected n/a 9 reset active high soft reset for system - resets all regi sters to default values di (5v) 10 alert# / bc_irq# alert# - active low alert / interrupt output usable for smbus alert or spi interrupt od (5v) bc_irq# - active low interrupt / optional for bc-link od (5v) 11 addr_comm address / communications select pin - pull-down resistor determines address / communications mechanism ai 12 cs8 capacitive touch sensor 8 aio 13 cs7 capacitive touch sensor 7 aio 14 cs6 capacitive touch sensor 6 aio 15 cs5 capacitive touch sensor 5 aio 16 cs4 capacitive touch sensor 4 aio 17 cs3 capacitive touch sensor 3 aio 18 cs2 capacitive touch sensor 2 aio 19 cs1 capacitive touch sensor 1 aio 20 vdd positive power supply power bottom pad gnd ground power table 1.1 pin description for cap1028 (continued) pin number pin name pin function pin type
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 10 smsc cap1028 datasheet application note: for the 5v tolerant pins that have a pull-up re sistor, the pull-up voltage must not exceed 3.6v when the cap1028 is unpowered. . table 1.2 pin types pin type description power this pin is used to supply power or ground to the device. di digital input - this pin is used as a digital input. this pin is 5v tolerant. aio analog input / output -this pin is used as an i/o for analog signals. diod digital input / open drain output- this pin is used as a digital i/o. when it is used as an output, it is open drain and requires a pull-up resistor . this pin is 5v tolerant. od open drain digital output - this pin is used as a digital output. it is open drain and requires a pull-up resistor. this pin is 5v tolerant. do push-pull digital output - this pin is used as a digital output and can sink and source current. dio push-pull digital input / output - this pin is used as an i/o for digital signals.
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 11 revision 1.0 (06-16-09) datasheet chapter 2 electrical specifications note 2.1 stresses above those listed could cause permanent damage to the device. this is a stress rating only and functional operation of the device at any other condition above those indicated in the operation sections of this specification is not implied. note 2.2 for the 5v tolerant pins that have a pull- up resistor, the voltage difference between v pullup and v dd must never exceed 3.6v. note 2.3 the package power dissipation specification assumes a recommended thermal via design consisting of a 3x3 matrix of 0.3mm (12mil) vias at 1.0mm pitch c onnected to the ground plane with a 2.5 x 2.5mm thermal landing. note 2.4 junction to ambient ( ja ) is dependent on the design of t he thermal vias. without thermal vias and a thermal landing, the ja is approximately 60c/w including localized pcb temperature increase. table 2.1 absolute maximum ratings voltage on 5v tolerant pins (v pullup ) -0.3 to 5.5 v voltage on 5v tolerant pins (v pullup - v dd ) note 2.2 -0.3 to 3.6 v voltage on vdd pin -0.3 to 4 v voltage on any other pin to gnd -0.3 to vdd + 0.3 v package power dissipation up to t a = 85c for 20 pin qfn (see note 2.3 ) 0.9 w junction to ambient ( ja ) (see note 2.4 )58 c/w operating ambient temperature range -40 to 125 c storage temperature range -55 to 150 c esd rating, all pins, hbm 8000 v table 2.2 electrical specifications v dd = 3v to 3.6v, t a = 0c to 100c, all typical values at t a = 27c unless otherwise noted. characteristic symbol min typ max unit conditions dc power supply voltage v dd 3.0 3.3 3.6 v
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 12 smsc cap1028 datasheet supply current i stby 135 170 ua standby state active, 2 sensors monitored 1 led active default conditions (8 avg, 70ms cycle time) i dsleep tbd tbd ua deep sleep state active leds at 100% or 0% duty cycle no communications t a < 85c i dd 300 500 ua average current capacitive sensing active, leds enabled capacitive touch sensor base capacitance c base 5 50 pf pad untouched detectable capacitive shift c touch 0.1 2 pf pad touched led drivers duty cycle duty led 0 100 % programmable sinking current i sink 24 ma v ol = 0.4 sourcing current i source 24 ma v oh = v dd - 0.4 i/o pins - spi_cs#, reset, wake / spi_mosi, and alert# pins output low voltage v ol 0.4 v i sink_io = 4ma output high voltage v oh v dd - 0.4 v wake pin only i source_io = 4ma input high voltage v ih 2.0 v input low voltage v il 0.8 v leakage current i leak 5 ua powered or unpowered t a < 85c smdata / bc_data / spi_msio / spi_mis o and smclk / bc_clk / spi_clk pins output low voltage v ol 0.4 v i sink_io = 8ma output high voltage v oh v dd - 0.4 vi source_io = 8ma input high voltage v ih 2.0 v input low voltage v il 0.8 v leakage current i leak 5 ua powered or unpowered t a < 85c pull-up voltage < 3.6v smbus first communication t smb 15 ms table 2.2 electrical specifications (continued) v dd = 3v to 3.6v, t a = 0c to 100c, all typical values at t a = 27c unless otherwise noted. characteristic symbol min typ max unit conditions
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 13 revision 1.0 (06-16-09) datasheet smbus timing input capacitance c in 5pf clock frequency f smb 10 400 khz spike suppression t sp 50 ns bus free time start to stop t buf 1.3 us setup time: start t su:sta 0.6 us setup time: stop t su:stp 0.6 us data hold time t hd:dat 0.6 6 us data setup time t su:dat 0.6 72 us clock low period t low 1.3 us clock high period t high 0.6 us clock/data fall time t fall 300 ns min = 20+0.1c load ns clock/data rise time t rise 300 ns min = 20+0.1c load ns capacitive load c load 400 pf per bus line bc-link timing clock period t clk 250 ns data hold time t hd:dat 0ns data setup time t su:dat 30 ns data must be valid before clock clock duty cycle duty 40 50 60 % spi timing clock period t p 250 ns clock low period t low 0.4 x t p 0.6 x t p ns clock high period t high 0.4 x t p 0.6 x t p ns clock rise / fall time t rise / t fall 0.1 x t p ns data output delay t d:clk 10 ns data setup time t su:dat 20 ns data hold time t hd:dat 20 ns spi_cs# to spi_clk setup time t su:cs 0ns wake time t wake 10 20 us spi_cs# asserted to clk assert table 2.2 electrical specifications (continued) v dd = 3v to 3.6v, t a = 0c to 100c, all typical values at t a = 27c unless otherwise noted. characteristic symbol min typ max unit conditions
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 14 smsc cap1028 datasheet chapter 3 communications 3.1 communications the cap1028 communicates us ing the 2-wire smbus or i 2 c bus, the 2-wire proprietary bc-link, or the spi bus. regardless of communication mechan ism, the device functionality remains unchanged. the communications mechanism as well as the smbus (or i 2 c) slave address is determined by the resistor connected between the addr_comm pin and ground as shown in ta b l e 3 . 1 . . 3.1.1 smbus (i 2 c) communications when configured to communicate via the smbus, t he cap1028 supports the following protocols: send byte, receive byte, read byte, and write byte. in addition, the device supports i 2 c formatting for block read and block write protocols. the spi_cs# pin is not used and any data presented to this pin will be ignored. see section 3.2 and section 3.3 for more information on the smbus bus and protocols respectively. 3.1.2 spi communications when configured to communicate via the spi bus, the cap1028 supports both bi-directional 3-wire and normal 4-wire protocols and uses the spi_cs# pin to enable communications. see section 3.4 and section 3.6 for more information on the spi bus and protocols respectively. 3.1.3 bc-link communications when bc-link communications are used, the cap1028 s upports the read byte protocol and the write byte protocol. see section 3.7 for more information on the bc-link bus and protocols respectively. application note: upon power up, the cap1028 will not respond to any communications for up to 15ms. after this time, full functionality is available. table 3.1 addr_comm pin decode pull-down resistor protocol used smbus address <= 47k spi communications using normal 4-wire protocol used n/a 56k spi communications using bi- directional 3-wire protocol used n/a 68k bc-link communications n/a 82k smbus / i 2 c 0101_100(r/w) 100k smbus / i 2 c 0101_011(r/w) 120k smbus / i 2 c 0101_010(r/w) 150k smbus / i 2 c 0101_001(r/w) vdd smbus / i 2 c 0101_000(r/w)
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 15 revision 1.0 (06-16-09) datasheet 3.2 system management bus the cap1028 communicates with a ho st controller, such as an smsc sio, through the smbus. the smbus is a two-wire serial communication prot ocol between a computer host and its peripheral devices. a detailed timing diagram is shown in figure 3.1 . stretching of the smclk signal is supported; however, the cap1028 will not stretch the clock signal. 3.2.1 smbus start bit the smbus start bit is defined as a transition of th e smbus data line from a logic ?1? state to a logic ?0? state while the smbus clock line is in a logic ?1? state. 3.2.2 smbus address and rd / wr bit the smbus address byte consists of the 7-bit client address followed by the rd / wr indicator bit. if this rd / wr bit is a logic ?0?, then the smbus host is wr iting data to the client device. if this rd / wr bit is a logic ?1?, then the smbus host is reading data from the client device. see ta b l e 3 . 1 for available smbus addresses. 3.2.3 smbus data bytes all smbus data bytes are sent most significant bit first and composed of 8-bits of information. 3.2.4 smbus ack and nack bits the smbus client will acknowledge all data bytes that it receives. this is done by the client device pulling the smbus data line low after the 8th bit of each byte that is transmitted. this applies to both the write byte and block write protocols. the host will nack (not acknowledge) the last data by te to be received from the client by holding the smbus data line high after the 8th data bit has been sent. for the block read protocol, the host will ack each data byte that it rece ives except the last data byte. 3.2.5 smbus stop bit the smbus stop bit is defined as a transition of the smbus data line from a logic ?0? state to a logic ?1? state while the smbus clock line is in a logic ?1? state. when the cap1028 detects an smbus stop bit, and it has been communicating with the smbus pr otocol, it will reset its client interface and prepare to receive further communications. figure 3.1 smbus timing diagram smdata smclk t low t rise t high t fall t buf t hd:sta p s s - start condition p - stop condition t hd:dat t su:dat t su:sta t hd:sta p t su:sto s
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 16 smsc cap1028 datasheet 3.2.6 smbus timeout the cap1028 includes an smbus timeout feature. following a 30ms period of inactivity on the smbus where the smclk pin is held low, the devic e will timeout and reset the smbus interface. the timeout function defaults to disabled. it can be enabled by setting the timeout bit in the configuration register (see section 5.6 ). 3.2.7 smbus and i 2 c compliance the major difference between smbus and i 2 c devices is highlighted here. for complete compliance information refer to the smbus 2.0 specification. 1. minimum frequency for smbus communications is 10khz. 2. the client protocol will reset if t he clock is held low longer than 30ms. 3. the client protocol will reset if both the clock and the data line are high for longer than 150us (idle condition). 4. i 2 c devices do not support the alert response addre ss functionality (which is optional for smbus). 5. i 2 c devices support block read and write differently. i 2 c protocol allows for unlimited number of bytes to be sent in either direction. the smbus protocol requires that an additional data byte indicating number of bytes to read / writ e is transmitted. the cap1028 supports i 2 c formatting only. 3.3 smbus protocols the cap1028 is smbus 2.0 compatible and suppor ts send byte, read byte, block read, receive byte as valid protocols as shown below. the cap1028 also supports the i 2 c block read and block write protocols. finally, it will respond to the al ert response address protocol but is not in full compliance. all of the below protocols use the convention in ta b l e 3 . 2 . 3.3.1 smbus write byte the write byte is used to write one byte of data to a specific register as shown in table 3.3 . 3.3.2 block write the block write is used to write multiple data byte s to a group of contiguous registers as shown in table 3.4 . it is an extension of the write byte protocol. table 3.2 protocol format data sent to device data sent to the host data sent data sent table 3.3 write byte protocol start slave address wr ack register address ack register data ack stop 1 ->0 yyyy_yyy 0 0 xxh 0 xxh 0 0 -> 1
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 17 revision 1.0 (06-16-09) datasheet application note: when using the block write protocol, the in ternal address pointer will be automatically incremented after every data byte is received. it will wrap from ffh to 00h. 3.3.3 smbus read byte the read byte protocol is used to read one byte of data from the registers as shown in table 3.5 . 3.3.4 block read the block read is used to read multiple data by tes from a group of contig uous registers as shown in table 3.6 . it is an extension of the read byte protocol. application note: when using the block read protocol, the internal address pointer will be automatically incremented after every data byte is received. it will wrap from ffh to 00h. 3.3.5 smbus send byte the send byte protocol is used to set the internal address register pointer to the correct address location. no data is transferred during the send byte protocol as shown in ta b l e 3 . 7 . table 3.4 block write protocol start slave address wr ack register address ack register data ack 1 ->0 yyyy_yyy 0 0 xxh 0 xxh 0 register data ack register data ack . . . register data ack stop xxh 0 xxh 0 . . . xxh 0 0 -> 1 table 3.5 read byte protocol start slave address wr ack register address ack start client address rd ack register data nack stop 1->0 yyyy_yyy 0 0 xxh 0 1 ->0 yyyy_yyy 1 0 xxh 1 0 -> 1 table 3.6 block read protocol start slave address wr ack register address ack start slave address rd ack register data 1->0 yyyy_yyy 0 0 xxh 0 1 ->0 yyyy_yyy 1 0 xxh ack register data ack register data ack register data ack . . . register data nack stop 0 xxh 0 xxh 0 xxh 0 . . . xxh 1 0 -> 1 table 3.7 send byte protocol start slave address wr ack register address ack stop 1 -> 0 yyyy_yyy 0 0 xxh 0 0 -> 1
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 18 smsc cap1028 datasheet 3.3.6 smbus receive byte the receive byte protocol is used to read data from a register when the internal register address pointer is known to be at the right location (e.g. set via send byte). this is used for consecutive reads of the same register as shown in ta b l e 3 . 8 . 3.4 spi interface the smbus has a predefined packet structure, the spi doe s not. the spi bus can operate in two modes of operation, normal 4-wir e mode and bi-directional 3-wire mode. all spi commands consist of 8-bit packets set to a specific slave device (identified by the cs pin). the spi bus will latch data on the rising edge of the clock and the clock and data both idle high. all commands are supported via both operating m odes. the supported commands are: reset serial interface, set address pointer, write command and r ead command. note that all other codes received during the command phase are ignored and have no effect on the oper ation of the device. 3.4.1 spi normal mode the spi bus can operate in two modes of operation, normal and bi-directional mode. in the normal mode of operation, there ar e dedicated input and output data lines. the host communicates by sending a command along the cap1028 spi_mosi data line and reading data on the spi_miso data line. both communications occur simultaneously which allows for larger through put of data transactions. all basic transfers consist of two 8 bit transactions from the master device while the slave device is simultaneously sending data at the current address pointer value. data writes consist of two or more 8-bit tran sactions. the host sends a specific write command followed by the data to write the address pointer. data reads consist of one or more 8-bit transactions. table 3.8 receive byte protocol start slave address rd ack register data nack stop 1 -> 0 yyyy_yyy 1 0 xxh 1 0 -> 1 figure 3.1 spi timing spi_msio or spi_mosi or spi_miso spi_clk t low t rise t high t fall t d:clk t hd:dat t su:dat t p
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 19 revision 1.0 (06-16-09) datasheet the host sends the specific read data command and continues clocking for as many data bytes as it wishes to receive. 3.4.2 spi bi-d irectional mode in the bi-directional mode of operation, the spi data signals are combined into the spi_msio line, which is shared for data received by the device and transmitted by the device. the protocol uses a simple handshake and turn around sequence for data communications based on the number of clocks transmitted during each phase. all basic transfers consist of two 8 bit transactions. the first is an 8 bit command phase driven by the master device. the second is by an 8 bit data phase driven by the master for writes, and by the cap1028 for read operations. the auto increment feature of the address pointer a llows for successive reads or writes. the address pointer will return to 00h after reaching ffh. 3.4.3 spi_cs# pin the spi bus is a single master, multiple slave seri al bus. each slave has a dedicated cs pin (chip select) that the master asserts low to identify th at the slave is being addressed. there are no formal addressing options. 3.4.4 address pointer all data writes and reads are accessed from the curre nt address pointer. in both bi-directional mode and full duplex mode, the address pointer is automatically incremented following every read command or every write command. the address pointer will return to 00h after reaching ffh. 3.4.5 spi timeout the cap1028 does not detect any ti meout conditions on the spi bus. 3.5 normal spi protocols when operating in normal mode, the spi bus internal address pointer is incremented depending upon which command has been transmitted. multiple co mmands may be transmitted sequentually so long as the spi_cs# pin is asserted low. figure 3.1 shows an example of this operation.
smsc cap1028 20 revision 1.0 (06-16-09) datasheet 8 channel capacitive touch sensor with 2 led drivers datasheet 3.5.1 reset interface resets the serial interface whenever two successive 7ah codes ar e received. regardless of the current phase of the transaction - command or data, the receipt of the successive reset commands resets the serial communication interfac e only. all other functions are not affect ed by the reset operation. figure 3.1 example spi bus communication - normal mode spi_cs# spi_miso spi_mosi spi address pointer spi data output buffer register address / data 7ah xxh (invalid) xxh (invalid) yyh (invalid) 7ah 7dh 41h yyh (invalid) 7eh 66h xxh (invalid) 45h 7dh 41h aah (invalid) aah (invalid) 7fh 7fh 55h (invalid) 66h 7fh aah 7dh 43h 40h 78h 7fh xxh (invalid) 7fh 56h 40h / 56h 41h / 45h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h / 78h 41h 45h 40h / 56h 41h / 45h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h / 78h 42h aah 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h / 78h 41h 55h 7fh aah 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h / 78h 41h 66h 42h aah 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h / 78h 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h / 78h 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h /78h 44h 80h 40h 80h 40h 56h 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h /78h 43h 55h 7fh 7fh 55h 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h /78h 80h 45h 43h 46h 78h 40h / 56h 41h / 66h 42h / aah 43h / 55h 44h / 80h 45h / 43h 46h / 78h 00h xxh indicates spi address pointer incremented
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 21 revision 1.0 (06-16-09) datasheet 3.5.2 set address pointer the set address pointer command sets the address pointer for subsequent read s and writes of data. the pointer is set on the rising edge of the final data bit. at the same time, the data that is to be read is fetched and loaded into the internal out put buffer but is not transmitted. 3.5.3 write data the write data protocol updates th e contents of the register referenced by the address pointer. as the command is processed, the data to be read is fetc hed and loaded into the internal output buffer but not transmitted. then, the register is updated with the data to be written. finally, the address pointer is incremented. figure 3.2 spi reset interface command - normal mode figure 3.3 spi set address pointer command - normal mode master spdout spi_mosi spi_cs# spi_clk reset - 7ah reset - 7ah invalid register data 00h ? internal data buffer empty spi_miso master drives slave drives ?0? ?1? ?1? ?1? ?1? ?0? ?1? ?0? ?0? ?1? ?1? ?1? ?1? ?0? ?1? ?0? master spdout spi_mosi register address spi_cs# spi_clk set address pointer ? 7dh unknown, invalid data unknown, invalid data spi_miso master drives slave drives address pointer set ?0? ?0? ?1? ?1? ?1? ?1? ?1? ?1?
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 22 smsc cap1028 datasheet 3.5.4 read data the read data protocol is used to read data fr om the device. during t he normal mode of operation, while the device is receiving data, the cap1028 is simultaneously transmitting data to the host. for the set address commands and the write data commands, this data may be invalid and it is recommended that the read data command is used. figure 3.4 spi write command - normal mode figure 3.5 spi read command - normal mode master spdout spi_mosi data to write spi_cs# spi_clk write command ? 7eh unknown, invalid data old data at current address pointer spi_miso master drives slave drives 1. data written at current address pointer 2. address pointer incremented master spdout spi_mosi master drives slave drives spi_clk first read command ? 7fh spi_cs# invalid, unknown data * spi_miso ?0? ?1? ?1? ?1? ?1? ?1? ?1? ?1? subsequent read commands ? 7f data at current address pointer address pointer incremented ** ?0? ?1? ?1? ?1? ?1? ?1? ?1? ?1? * the first read command after any other command will return invalid data for the first byte. subsequent read commands w ill return the data at the current address pointer ** the address pointer is incremented 8 clocks after the read command has been received. therefore continually sending read commands w ill result in each comm and reporting new data. once read commands have been finished, the last data byte w ill be read during the next 8 clocks for any command
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 23 revision 1.0 (06-16-09) datasheet 3.6 bi-directional spi protocols 3.6.1 reset interface resets the serial interface whenever two succes sive 7ah codes are received. regardless of the current phase of the transaction - command or data, the receipt of the successive reset commands resets the serial communication interface only. a ll other functions are not affected by the reset operation. 3.6.2 set address pointer sets the address pointer to the register to be accessed by a read or write command. this command overrides the auto-incrementing of the address pointer. figure 3.6 spi read command - normal mode - full figure 3.7 spi reset interface command - bi-dir ectional mode mast er spdout spi_mosi master drives slave drives spi_clk read command ? 7fh spi_cs# data at previously set register address = current address pointer spi_miso ?0? ?1? ?1? ?1? ?1? ?1? ?1? ?1? data at previously set register address = current address pointer (spi) xxh 1. register read address updated to current spi read address pointer 1. register data loaded into output buffer = data at current address pointer 1. output buffer transmitted = data at previous address pointer + 1 = current address pointer 1. register read address incremented = current address pointer + 1 1. spi read address incremented = new current address pointer 2. register read address incremented = current address pointer +1 register data loaded into output buffer = data at current address pointer + 1 1. output buffer transmitted = data at current address pointer + 1 2. flag set to increment spi read address at end of next 8 clocks ?0? ?1? ?1? ?1? ?1? ?1? ?1? ?1? data at previously set register address = current address pointer (spi) 1. register data loaded into output buffer = data at current address pointer 1. output buffer transmitted = data at previous register address pointer + 1 = current address pointer 1. output buffer transmitted = data at current address pointer + 1 2. flag set to increment spi read address at end of next 8 clocks subsequent read commands ? 7fh 1. register read address updated to current spi read address pointer. 2. register read address incremented = current address pointer +1 ? end result = register address pointer doesn?t change master spdout spi_msio spi_cs# spi_clk reset - 7ah reset - 7ah ?1? ?1? ?1? ?1? ?1? ?0? ?0? ?0? ?1? ?1? ?1? ?1? ?1? ?0? ?0? ?0?
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 24 smsc cap1028 datasheet 3.6.3 write data writes data value to the register address stored in the address pointer. performs auto increment of address pointer after the data is loaded into the register. 3.6.4 read data reads data referenced by the address pointer. performs auto increment of address pointer after the data is transferred to the master. figure 3.8 spi set address pointe r command - bi-d irectional mode figure 3.9 spi write data co mmand - bi-dir ectional mode figure 3.10 spi read data command - bi-directional mode master spdout spi_msio register address spi_cs# spi_clk set address pointer ? 7dh ?0? ?1? ?0? ?1? ?1? ?1? ?1? ?1? master spdout spi_msio register write data spi_cs# spi_clk write command ? 7eh ?1? ?1? ?1? ?1? ?1? ?1? ?0? ?0? mast er spdout spi_msio master drives slave drives indeterminate register read data spi_clk read command ? 7fh spi_cs# ?0? ?1? ?1? ?1? ?1? ?1? ?1? ?1?
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 25 revision 1.0 (06-16-09) datasheet 3.7 bc-link interface the bc-link is a proprietary bus developed to allow communication between a host controller device to a companion device. this device uses this se rial bus to read and write registers and for interrupt processing. the interface uses a data port concep t, where the base interface has an address register, data register and a control register, defined in the smsc?s 8051?s sfr space. refer to documentation for the bc-link comptabile host controller for details on how to access the cap1028 via the bc-link interface.
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 26 smsc cap1028 datasheet chapter 4 general description the cap1028 is a multiple channel capacitive t ouch sensor with multiple power led drivers. it contains eight (8) individual capacitive touch sens or inputs with programmable sensitivity for use in touch sensor applications. each sensor automatically recalibrates to compensate for gradual environmental changes. the cap1028 also contains two (2) low side (or push-pull) led drivers that offer full-on / off, variable rate blinking, dimness controls, and breathing. each of the led drivers may be linked to one of the sensors to be actuated when a touch is detected. as well, each led driver may be individually controlled via a host controller. finally, the device contains a dedicated reset pin to act as a soft reset by the system. the cap1028 offers multiple power states operatin g at low quiescent currents during its deep sleep state. the device also contains a wake pin (wake/spi_mosi) outp ut to wake th e system when a touch is detected in standby and to wake the de vice from deep sleep. it can monitor one or more channels while in a lower power state and respond to communications normally. the device communicates with a host controller using the spi bus, smsc bc-link bus, or via smbus / i 2 c. the host controller may poll the device for updat ed information at any time or it may configure the device to flag an interrupt whenever a touch is detected on any sensor. a typical system diagram is shown in figure 4.1 .
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 27 revision 1.0 (06-16-09) datasheet 4.1 power states the cap1028 has three operating states depending on the status of the stby and dsleep bits. when the device transitions between power states, pr eviously detected touches (for inactive channels) are cleared and the status bits reset. figure 4.1 system diagram for cap1028 cap1028 cs6 smdata / bc_data / spi_msio / spi_miso smclk / bc_clk / spi_clk embedded controller vdd alert# / bc_irq# cs4 cs2 3.3v ? 5v cs5 cs3 cs1 wake / spi_mosi cs7 cs8 reset spi_cs# addr_comm led2 led1 3.3v ? 5v touch button touch button touch button touch button touch button touch button touch button touch button
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 28 smsc cap1028 datasheet 1. fully active - the device is fully active. it is monitoring all active capacitive sensor channels and driving all led channels as defined. 2. standby - the device is in a lower power state. it will measure a programmable number of channels (as determined by the standby channel register - default none). interrupts will still be generated based on the active channels. the device will st ill respond to communications normally and can be returned to the fully active state of operation by clearing the stby bit. 3. deep sleep - the device is in its lowest power st ate. it is not monitori ng any capacitive sensor channels. it can be awakened by smbus or spi co mmunications targeting the device (which will cause the dsleep bit to be automatically cleared). if the device is not communicating via the 4-wire sp i bus, then during this st ate of operation, if the wake/spi_mosi pin is driven high by an external source, the device will clear the dsleep bit and return to fully active. application note: the deep sleep state does not change led driv e behavior so it is it is the user?s responsibility to ensure that the leds are dr iven to the desired state prior to entering deep sleep. this is best achieved by unlinking th e leds from the sensors and driving the leds to the desired state using the led output control register. application note: if the cap1028 is configured to communicate using the bc-link protocol, the device does not support deep sleep. 4.2 reset pin the reset pin is an active high re set that is driven from an external source. whil e it is asserted high, all the internal blocks will be held in reset incl uding the communications protocol used essentially placing the device into its lowest power state. all configuration settings will be reset to default st ates (thus waking the device from deep sleep) and all readings will be cleared. once the reset pin is pulled low, the cap1028 will begin operation as if a power-on-reset had occurred. 4.3 wake/spi_mosi pin operation when the cap1028 is placed in standby, and is not communicating using the 4-wire spi protocol,it will assert the wake/spi_mosi pin wh en a touch is detected on one of its sampled sensors. the pin will remain asserted until the int bit has been cleared and then it will be de-asserted. when the cap1028 is placed in deep sleep and it is not commuicating using the 4-wire spi protocol, the wake/spi_mosi pin is monitored by the device as an input. if the wake/spi_mosi pin is driven high by an external source, the cap1028 will clear the dsleep bit. when the device is placed in deep sleep, this pin is a high-z input and must have a pull-down resistor to gnd for proper operation. 4.4 led drivers the cap1028 contains two (2) led drivers. each le d driver can be configur ed to operate in one of the following modes with either push-pull or open drain drive. additionally, each led driver can be linked to the respective capacitive touch sensor input. 1. direct - the led is configured to be on or off w hen the corresponding input stimulus is on or off (or inverted). the brightness of the led can be programmed from full off to full on (default). additionally, the led contains controls to individua lly configure ramping on, off, and turn-off delay. 2. pulse 1 - the led is configured to fade on -off-on a programmable number of times with programmable rate and min / max brightness. this behavior may be actuated when a press is detected, or when a re lease is detected.
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 29 revision 1.0 (06-16-09) datasheet 3. pulse 2 - the led is configured to ?breathe? wh ile actuated and then ?pulse? when the sensor is released. 4. breathe - the led is configured to fade cont inuously on-off-on (i.e. to "breathe?) with a programmable rate and min / max brightness. in addition to these four behaviors, all led drivers support host initiated led actuation. all leds also have an option to assert the alert# pin when the initated behavior has reached its maximum or minimum brightness levels. 4.4.1 linking leds to capacitive touch sensors all leds can be linked to the corresponding capaciti ve touch sense input channel so that when the sensor detects a touch, the corresponding led will be actuated at one of the programmed responses. 4.5 capacitive touch sensing the cap1028 contains eight (8) independent capa citive touch sensor inputs. each sensor has dynamic range to detect a change of capacitance due to a touch. additionally, each sensor can be configured to be automatically and routinely re-calibrated. 4.5.1 sensing cycle each capacitive touch sensor has controls to be activated and included in the sensing cycle. when the device is active, it automatic ally initiates a sensing cycle and repeats the cycle every time it finishes. the cycle polls through each active sensor starting with cs1 and extending through cs8. as each capacitive touch sensor is polled, its measur ement is compared against a baseline ?not touched? measurement. if the delta measurement is lar ge enough, then a touch is detected and an interrupt generated. the sensing cycle time is programmable (see section 4.6 ). 4.5.2 recalibrating sensors each sensor is regularly recalibrated at an adjustab le rate. by default, the recalibration routine stores the average 256 previous measurements and periodi cally updates the base ?not touched? setting for the capacitive touch sensor input. it is possible that the device loses sensitivity to a touch. this may happen as a result of a noisy environment, an accidental recalibration during a touch, or other environmental changes. when this occurs, then the base untouched sensor may genera te negative delta count values. the device will detect this condition based on a programmable num ber of consecutive negative delta readings. when it detects the condition, the cap1028 will automatica lly re-calibrate the base-co unt settings. during this recalibration, the device will not respond to touches. 4.6 alert# pin the alert# pin is an active low output that is driven when an interrupt event is detected. whenever an interrupt is gen erated, the int bit (see section 5.1 ) is set. the alert# pin is cleared when int bit is cleared by the user. additionally, w hen the int bit is cleared by the user, status bits are only cleared if no touch is detected. 4.6.1 sensor interrupt behavior the sensor interrupts are generated in one of two ways: 1. an interrupt is generated when a touch is detected and when a release is detected (see figure 4.3 ).
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 30 smsc cap1028 datasheet 2. if the repeat rate is enabled (see section 5.6 ), then, so long as the touch is held, another interrupt will be generated based on the programmed repeat rate (see figure 4.2 ). when the repeat rate is enabled, the device uses an additional control called mpress that determines whether a touch is flagged as a simple ?touch? or a ?press and hold?. the mpress[3:0] bits set a minimum press timer. when the button is touched the timer begins. if the sensor is released before the minimum press timer expires, then it is flagged as a touch and an interr upt is generated upon the release. if the sensor detects a touch for longer th an this timer value, then it is flagged as a ?press and hold? event. so long as the touch is held , interrupts will be generated at the programmed repeat rate and upon a release. application note: the host may need to poll the device twice to determine that a release has been detected. figure 4.2 sensor interrupt behavior - repeat rate enabled figure 4.3 sensor interrupt behavior - no repeat rate enabled touch detected alert pin / int bit button status smbus write to int bit polling cycle (35ms) button repeat rate (175ms) interrupt on touch button repeat rate (175ms) button repeat rate (175ms) interrupt on release touch detected alert pin / int bit button status smbus write to int bit polling cycle (35ms) interrupt on touch interrupt on release
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 31 revision 1.0 (06-16-09) datasheet chapter 5 register description the registers shown in ta b l e 5 . 1 are accessible through the communications protocol. an entry of ?-? indicates that the bit is not used and will always read ?0?. table 5.1 register set in hexadecimal order register address r/w register name function default value page 00h r/w main status control controls general power states and power dissipation 00h page 34 03h r sensor status returns the state of the sampeld capacative touch sensor 00h page 35 04h r led status stores status bits for leds 00h page 35 0ah r noise flag status stores the noise flags for sensors 00h page 35 10h r sensor 1 delta count stores the delta count for cs1 00h page 36 11h r sensor 2 delta count stores the delta count for cs2 00h page 36 12h r sensor 3 delta count stores the delta count for cs3 00h page 36 13h r sensor 4 delta count stores the delta count for cs4 00h page 36 14h r sensor 5 delta count stores the delta count for cs5 00h page 36 15h r sensor 6 delta count stores the delta count for cs6 00h page 36 16h r sensor 7 delta count stores the delta count for cs7 00h page 36 17h r sensor 8 delta count stores the delta count for cs8 00h page 36 1fh r/w sensitivity control controls the sensitivity of the threshold and delta counts and data scaling of the base counts 2fh page 36 20h r/w configuration controls general functionality and led controls 20h page 38 21h r/w sensor enable controls whether the capacitive touch sensor inputs are sampled ffh page 39 22h r/w sensor configuration controls reset delay and auto-repeat delay for sensors operating in the full power state a4h page 39 23h r/w sensor configuration 2 controls the mpress controls for all sensors 07h page 41 24h r/w averaging and sampling config controls averaging and sampling window 1dh page 41 26h r/w calibration activate activates manual re-calibration for capacative touch sensors ffh page 43 27h r/w interrupt enable enables interrupts associated with capacative touch sensors ffh page 43 28h r/w repeat rate enable enables repeat rate for capacative touch sensors ffh page 44
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 32 smsc cap1028 datasheet 2ah r/w multiple press configuration determines the number of simultaneous touches to flag a multiple touch condition 80h page 45 2fh r/w recalibration configuration determines re-calibration timing and sampling window 8bh page 45 30h r/w sensor 1 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 1 40h page 47 31h r/w sensor 2 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 2 40h page 47 32h r/w sensor 3 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 3 40h page 47 33h r/w sensor 4 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 4 40h page 47 34h r/w sensor 5 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 5 40h page 47 35h r/w sensor 6 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 6 40h page 47 36h r/w sensor 7 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 7 40h page 47 37h r/w sensor 8 threshold stores the delta count threshold to determine a touch for capacitive touch sensor 8 40h page 47 38h r/w sensor noise threshold 1 stores controls for selecting the noise threshold for sensors 1 - 4 55h page 47 39h r/w sensor noise threshold 2 stores controls for selecting the noise threshold for sensors 5 - 8 55h page 47 standby configuration registers 40h r/w standby channel controls which sensors are enabled while in standby 00h page 48 41h r/w standby configuration controls averaging and cycle time while in standby 1dh page 49 42h r/w standby sensitivity controls sensitivity settings used while in standby 02h page 50 43h r/w standby threshold stores the touch detection threshold for active sensors in standby 40h page 51 50h r sensor 1 base count stores the reference count value for sensor 1 c8h page 51 table 5.1 register set in hexadecimal order (continued) register address r/w register name function default value page
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 33 revision 1.0 (06-16-09) datasheet 51h r sensor 2 base count stores the reference count value for sensor 2 c8h page 51 52h r sensor 3 base count stores the reference count value for sensor 3 c8h page 51 53h r sensor 4 base count stores the reference count value for sensor 4 c8h page 51 54h r sensor 5 base count stores the reference count value for sensor 5 c8h page 51 55h r sensor 6 base count stores the reference count value for sensor 6 c8h page 51 56h r sensor 7 base count stores the reference count value for sensor 7 c8h page 51 57h r sensor 8 base count stores the reference count value for sensor 8 c8h page 51 71h r/w led output type controls the output type for the led outputs 00h page 52 72h r/w sensor led linking controls linking of sensors to led channels 00h page 54 73h r/w led polarity controls th e output polarity of leds 00h page 55 74h r/w led output control controls the output state of the leds 00h page 52 81h r/w led behavior 1 controls the behavior and response of leds 1 - 2 00h page 55 84h r/w led pulse 1 period controls the period of each breathe during a pulse 20h page 56 85h r/w led pulse 2 period controls the period of the breathing during breathe and pulse operation 14h page 58 86h r/w led breathe period controls the period of an led breathe operation 5dh page 59 88h r/w led config controls led configuration 04h page 60 90h r/w led pulse 1 duty cycle determines the min and max duty cycle for the pu lse operation f0h page 61 91h r/w led pulse 2 duty cycle determines the min and max duty cycle for breathe and pulse operation f0h page 61 92h r/w led breathe duty cycle determines the min and max duty cycle for the brea the operation f0h page 61 93h r/w led direct duty cycle determines the min and max duty cycle for direct mode led operation f0h page 61 94h r/w led direct ramp rates determines the rising and falling edge ramp rates of the leds 00h page 62 95h r/w led off delay determines the off delay for all led behaviors 00h page 63 table 5.1 register set in hexadecimal order (continued) register address r/w register name function default value page
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 34 smsc cap1028 datasheet during power-on-reset (por), the default values are stored in the registers. a por is initiated when power is first applied to the part and the vo ltage on the vdd supply surpasses the por level as specified in the electrical charac teristics. any reads to undefined registers will return 00h. writes to undefined registers will not have an effect. 5.1 main status control register the main status and control register contro ls the primary power state of the device. bit 5 - stby - enables standby. ? ?0? (default) - sensor scanning is active and leds are functional. ? ?1? - capacitive touch sensor scanning is limited to the sensors set in the standby channel register (see section 5.18 ). the status registers will not be clea red until read. leds that are linked to capacitive touch sensors will remain linked and active. sensors that are no longer sampled will flag a release and then remain in a non-touched state. leds that are m anually controlled will be unaffected. bit 4 - dsleep - enables deep sleep by deactivating all functions. this bit will be cleared when the wake pin is driven high or when spi or smbus ar e received targeting the cap1028. if the cap1028 is configured to communicate using the bc-l ink protocol, then this bit is ignored. ? ?0? (default) - sensor scanning is active and leds are functional. ? ?1? - all sensor scanning is disabled and all leds are disabled. the status registers are automatically cleared and the int bit is cleared. bit 0 - int - indicates that there is an interrupt. this bit is only set if the alert# pin has been asserted. if a channel detects a touch and its associated interrupt enable bit is not set to a logic ?1? then no action is taken. this bit is cleared by writing a logic ?0? to it. when this bit is cleared, the alert# pin will be deasserted and all status registers will be cleared if the condition has been removed. if the wake/spi_mosi pin is asserted as a result of a t ouch detected while in standby, it wil l likewise be deasserted when this bit is cleared. note that this pin is not driven when communicating via the 4-wire spi protocol ? ?0? - no interrupt pending. ? ?1? - a touch has been detected on one or more channels and the interr upt has been asserted. fdh r product id stores a fixed value that identifies each product 42h page 64 feh r manufacturer id stores a fixed value that identifies smsc 5dh page 64 ffh r revision stores a fixed value that represents the revision number 80h page 64 table 5.2 main status control register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 00h r/w main status control - - stby dsleep - - - int 00h table 5.1 register set in hexadecimal order (continued) register address r/w register name function default value page
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 35 revision 1.0 (06-16-09) datasheet 5.2 status registers the sensor status registers store status bits that indicate a touc h has been detected. a value of ?0? in any bit indicates that no touch has been detected. a value of ?1? in any bit indicates that a touch has been detected. all status bits are cleared when the device enters the deep sleep (dsleep = ?1? - see section 5.1 ). all status bits are cleared when the int bit is cleared and if a touch on the respective capacitive touch sensor is no longer present. if a touch is still detected, then the bits will not be cleared (but this will not cause the interrupt to be asserted - see section 5.6 ). 5.2.1 sensor status bit 7 - cs8 - indicates that a touch was detected on sensor 8. bit 6 - cs7 - indicates that a touch was detected on sensor 7. bit 5 - cs6 - indicates that a touch was detected on sensor 6. bit 4 - cs5 - indicates that a touch was detected on sensor 5. bit 3 - cs4 - indicates that a touch was detected on sensor 4. bit 2 - cs3 - indicates that a touch was detected on sensor 3. bit 1 - cs2 - indicates that a touch was detected on sensor 2. this sensor can be linked to led2. bit 0 - cs1 - indicates that a touch was detected on sensor 1. this sensor can be linked to led1. 5.2.2 led status bit 1 - led2_dn - indicates that led2 has fini shed its ramping behavior as determined by the led2_ctl bits. bit 0 - led1_dn - indicates that led1 has finished its ramping behavior as determined by the led1_ctl bits. 5.3 noise flag status registers the noise flag status registers store status bits that are gener ated from the analog block if the detected noise is above the operatin g region of the analog detector. th ese bits indicate that the most recently received data from the sensor is invalid and should not be used for touch detection. table 5.3 status registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 03h r sensor status cs8 cs7 cs6 cs5 cs4 cs3 cs2 cs1 00h 04h r led status - - - - - - led2_ dn led1_ dn 00h table 5.4 noise flag status registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 0ah r noise flag status cs8_ noise cs7_ noise cs6_ noise cs5_ noise cs4_ noise cs3_ noise cs2_ noise cs1_ noise 00h
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 36 smsc cap1028 datasheet furthermore, so long as the bit is set for a partic ular channel, no decisions are made with the data. a touch is not detected, and a release is not detected. these bits are not sticky and will be cleared au tomatically if the analog block does no t report a noise error. 5.4 sensor delta count registers the sensor delta count registers store the delta co unt that is compared against the threshold used to determine if a touch has been detected. the count value represents a change in input due to the capacitor associated with a touch on one of the s ensors and is referenced to a calibrated base ?not touched? count value. the delta is an instantaneous change and is updated once per sensor per sensing cycle (see section 4.5.1 - sensor cycle). the value presented is a standard 2?s complement nu mber. in addition, the value is capped at a value of 7fh. a reading of 7fh indicates that the sensit ivity settings are too high and should be adjusted accordingly (see section 5.5 ). the value is also capped at a negative value of ffh for negative delta counts which may result upon a release. 5.5 sensitivity control register the sensitivity control register controls the sensitivity of a touch detection. table 5.5 sensor delta count registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 10h r sensor 1 delta count sign 64 32 16 8 4 2 1 00h 11h r sensor 2 delta count sign 64 32 16 8 4 2 1 00h 12h r sensor 3 delta count sign 64 32 16 8 4 2 1 00h 13h r sensor 4 delta count sign 64 32 16 8 4 2 1 00h 14h r sensor 5 delta count sign 64 32 16 8 4 2 1 00h 15h r sensor 6 delta count sign 64 32 16 8 4 2 1 00h 16h r sensor 7 delta count sign 64 32 16 8 4 2 1 00h 17h r sensor 8 delta count sign 64 32 16 8 4 2 1 00h table 5.6 data scaling register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 1fh r/w sensitivity control - del ta_sense[2:0] base_shift[3:0] 2fh
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 37 revision 1.0 (06-16-09) datasheet bits 6- 4 delta_sense[2:0] - contro ls the sensitivity of a touch dete ction. the sensitivity settings act to scale the relative delta coun t value higher or lower based on the system parameters. a setting of 000b is the most sensitive while a setting of 111b is the least sensitive. at the more sensitive settings, touches are detected for a smaller delta c correspondi ng to a ?lighter? touch. these settings are more sensitive to noise however and a noisy environment ma y flag more false touches than higher sensitivity levels. application note: a value of 128x is the most sens itive setting available. at the most sensitivity settings, the msb of the delta count register represents 64 out of ~25,000 which corresponds to a touch of approximately 0.25% of the base capacitance (or a c of 25ff from a 10pf base capacitance). conversely a val ue of 1x is the least sensitiv e setting available. at these settings, the msb of the delta count register corresponds to a delta count of 8192 counts out of ~25,000 which corresponds to a touch of approximately 33% of the base capacitance (or a c of 3.33pf from a 10pf base capacitance). bits 3 - 0 - base_shift[3:0] - contro ls the scaling an d data presentation of the base count registers. the higher the value of these bits, the larger the range and the lower the resolution of the data presented. the scale factor repres ents the multiplier to the bit-we ighting presented in these register descriptions. application note: the base_shift[3:0] bits normall y do not need to be updated. t hese settings will not affect touch detection or sensitivity. these bits ar e sometimes helpful in analyzing the cap sensing board performance and stability. table 5.7 delta_sense bit decode delta_sense[2:0] sensitivity multiplier 210 0 0 0 128x (most sensitive) 001 64x 0 1 0 32x (default) 011 16x 100 8x 101 4x 110 2x 1 1 1 1x - (least sensitive) table 5.8 base_shift bit decode base_shift[3:0] data scaling factor 32 1 0 00 0 0 1x 00 0 1 2x 00 1 0 4x 00 1 1 8x
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 38 smsc cap1028 datasheet 5.6 configuration register the configuration register controls general glo bal functionality that af fects the entire device. bit 7 - timeout - enables the timeout and idle functionality of the smbus protocol. ? ?0? (default) - the smbus timeout and idle functi onality are disabled. the smbus interface will not time out if the clock line is held low. likewise, it will not reset if both the data and clock lines are held high for longer than 150us. this is used for i 2 c compliance. ? ?1? - the smbus timeout and idle functionality are enabled. the smbus interfac e will time out if the clock line is held low for longer than 30ms. likewise, it will reset if both the data and clock lines are held high for longer than 150us. bit 6 - wake_cfg - configures t he operation of the wake pin. ? ?0? (default) - the wake pin is not asserted when a to uch is detected while the device is in standby. it will still be used to wake the device from deep sleep when driven high. ? ?1? - the wake pin will be asserted high when a touch is detected while t he device is in standby. it will also be used to wake the device from deep sleep when driven high. bit 5 - blk_dig_noise - determines whether the digital noise threshold is used by the device. ? ?0? - the digital noise threshold is used. if a delt a count value exceeds the noise threshold but does not exceed the touch threshold, then the sample is discarded and not used for the automatic re- calibration routine. ? ?1? (default) - the noise threshold is not used. an y delta count that is less than the touch threshold is used for the automatic re-calibration routine. bit 4 - blk_ana_noise - determines whether t he analog noise flag setting will block a touch detection as well as the analog calibration routine. ? ?0? (default) - if the analog noise bit is set, then a touch is blocked on the corresponding channel and will force the analog calibration routine to retry. 01 0 0 16x 01 0 1 32x 01 1 0 64x 0 1 1 1 128x 1 0 0 0 256x all others 256x (default = 1111b) table 5.9 configuration register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 20h r/w configuration timeout wake_ cfg blk_ dig_ noise blk_ ana_ noise max_dur_ en - - - 20h table 5.8 base_shift bi t decode (continued) base_shift[3:0] data scaling factor 32 1 0
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 39 revision 1.0 (06-16-09) datasheet ? ?1? - a touch is not blocked even if the analog no ise bit is set. likewise, the analog calibration routine will not retry if the analog noise bit is set. bit 3 - max_dur_en - determines whether the maximum duration recalibration is enabled for non- grouped sensors. ? ?0? (default) - the maximum duratio n recalibration functionality is disabled. a touch may be held indefinitely and no re-calibration will be performed on any sensor. ? ?1? - the maximum duration recalibration functionality is enabled. if a touch is held for longer than the max_dur bit settings, then the re-ca libration routine will be restarted (see section 5.8 ). 5.7 sensor enable registers the sensor enable registers determine whether a capacitive touch sensor input is included in the sampling cycle. the length of the sampling cycle is not affected by the number of sensors measured. bit 7 - cs8_en - enables the cs8 input to be included during the sampling cycle. ? ?0? - the cs8 input is not included in the sampling cycle. ? ?1? (default) - the cs8 input is included in the sampling cycle. bit 6 - cs7_en - enables the cs7 input to be included during the sampling cycle. bit 5 - cs6_en - enables the cs6 input to be included during the sampling cycle. bit 4 - cs5_en - enables the cs5 input to be included during the sampling cycle. bit 3 - cs4_en - enables the cs4 input to be included during the sampling cycle. bit 2 - cs3_en - enables the cs3 input to be included during the sampling cycle. bit 1 - cs2_en - enables the cs2 input to be included during the sampling cycle. bit 0 - cs1_en - enables the cs1 input to be included during the sampling cycle. 5.8 sensor configuration register the sensor configuration register controls timings associated with the capacitive sensor channels 1 - 8. bits 7 - 4 - max_dur[3:0] - (default 1010b) - determines the maximum time that a sensor is allowed to be touched until the capacitive touch sensor is recalibrated as shown in table 5.12 . table 5.10 sensor enable registers addrr/wregisterb7 b6 b5b4b3b2b1b0default 21h r/w sensor enable cs8_en cs7_en cs6_en cs5_en cs4_en cs3_en cs2_en cs1_en ffh table 5.11 sensor configuration register addrr/w register b7 b6 b5b4b3b2b1b0default 22h r/w sensor configuration max_dur[3:0] rpt_rate[3:0] a4h
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 40 smsc cap1028 datasheet bits 3 - 0 - rpt_rate[3:0] - (default 0100b) determines the time duration between interrupt assertions when auto repeat is enabled. the resolution is 35ms the range is from 35ms to 560ms as shown in table 5.13 . table 5.12 max_dur bit decode max_dur[3:0] time before recalibration 321 0 0 0 0 0 560ms 0 0 0 1 840ms 0 0 1 0 1120ms 0 0 1 1 1400ms 0 1 0 0 1680ms 0 1 0 1 2240ms 0 1 1 0 2800ms 0 1 1 1 3360ms 1 0 0 0 3920ms 1 0 0 1 4480ms 1 0 1 0 5600ms 1 0 1 1 6720ms 1 1 0 0 7840ms 1 1 0 1 8906ms 1 1 1 0 10080ms 1 1 1 1 11200ms table 5.13 rpt_rate bit decode rpt_rate[3:0] or m_press[3:0] interrupt repeat rate or m_press time 3210 0000 35ms 0001 70ms 0 0 1 0 105ms 0 0 1 1 140ms 0 1 0 0 175ms 0 1 0 1 210ms 0 1 1 0 245ms
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 41 revision 1.0 (06-16-09) datasheet 5.9 sensor configuration 2 register bits 3- 0 - m_press[3:0] - (default 0111b) - dete rmines the minimum amount of time that sensors configured to use auto repeat must detect a sensor touch to detect a ?press and hold? event. if the sensor detects a touch fo r longer than the m_press[ 3:0] settings, then a ?press and hold? event is detected. this is the maximum amount of ti me that sensors can detect a sens or touch to differentiate between a ?touch? and a ?press and hold?. if a sensor detects a touch for less than or equal to the m_press[3:0] settings , then a touch event is detected. the resolution is 35ms the range is from 35ms to 560ms as shown in table 5.13 . 5.10 averaging and sampling configuration register the averaging and sampling configuration register controls the number of samples taken and the total sensor cycle time for all active sensors while the device is functioning normally. bits 5 - 3 - avg[2:0] - determines the number of samples that are taken for all active channels during the sensor cycle as shown in table 5.16 . all samples are taken consecutively on the same channel 0 1 1 1 280ms 1 0 0 0 315ms 1 0 0 1 350ms 1 0 1 0 385ms 1 0 1 1 420ms 1 1 0 0 455ms 1 1 0 1 490ms 1 1 1 0 525ms 1 1 1 1 560ms table 5.14 sensor configuration 2 register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 23h r/w sensor configuration 2 - - - - m_press[3:0] 07h table 5.15 averaging and sampling configuration register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 24h r/w averaging and sampling config avg[2:0] samp_ time cycle_time [1:0] 1dh table 5.13 rpt_rate bit decode (continued) rpt_rate[3:0] or m_press[3:0] interrupt repeat rate or m_press time 3210
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 42 smsc cap1028 datasheet before the next channel is sampled and the result is averaged over the number of samples measured before updating the measured results. for example, if cs1, cs2, and cs 3 are sampled during the sensor c ycle, and the avg[2:0] bits are set to take 4 samples per channel, then the full s ensor cycle will be: cs1, cs 1, cs1, cs1, cs2, cs2, cs2, cs2, cs3, cs3, cs3, cs3. bit 2 - samp_time - dete rmines the sampling time. ? ?0? - the sampling time is ~2.56ms for each sensor. ? ?1? (default) - the sampling time is ~1.28ms for each sensor. bits 1 - 0 - cycle_time[1:0] - determines the ov erall cycle time for all measured channels during normal operation as shown in ta b l e 5 . 1 7 . all measured channels are sampled at the beginning of the cycle time. if additional time is remaining, then th e device is placed into a lower power state for the remaining duratio n of the cycle. application note: the programmed cycle time is only maintained if the total averaging ti me for all samples is less than the programmed cycle. the avg[2:0] bits will take pr iority so that if more samples are required than would normally be allowed during the cycle time, the cycle time will be extended as necessary to accommodate t he number of samples to be measured. table 5.16 avg bit decode avg[2:0] number of samples taken per measurement 210 000 1 001 2 010 4 0 1 1 8 (default) 100 16 101 32 110 64 1 1 1 128 table 5.17 cycle_time bit decode cycle_time[1:0] overall cycle time 10 00 35ms 0 1 70ms (default) 1 0 105ms 1 1 140ms
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 43 revision 1.0 (06-16-09) datasheet 5.11 calibration activate registers the calibration activate register force the respective sensors to be re-calibrated. when a bit is set, the corresponding capacitive touch sensor will be re-calibrated and the bit will be automatically cleared once the re-calibration routine has finished. during the re-calibration routine, the sensors will not detect a press for up to 600ms and the sensor base count register values will be invalid. during this time, any press on the corresponding sensors will invalidate the re-calibration. bit 7 - cs8_cal - when set, the cs8 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. bit 6 - cs7_cal - when set, the cs7 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. bit 5 - cs6_cal - when set, the cs6 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. bit 4 - cs5_cal - when set, the cs5 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. bit 3 - cs4_cal - when set, the cs4 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. bit 2 - cs3_cal - when set, the cs3 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. bit 1 - cs2_cal - when set, the cs2 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. bit 0 - cs1_cal - when set, the cs1 input is re-calib rated. this bit is automatically cleared once the sensor has been re-calibrated successfully. 5.12 interrupt enable register the interrupt enable registers determine whether a se nsor touch or release ca uses the interrupt pin to be asserted. bit 7 - cs8_int_en - enables the interrupt pin to be asserted if a touch is detected on cs8 (associated with the cs8 status bit). ? ?0? - the interrupt pin will not be asserted if a to uch is detected on cs8 (associated with the cs8 status bit). ? ?1? (default) - the interrupt pin will be asserted a touch is detected on cs8 (associated with the cs8 status bit). table 5.18 calibration activate registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 26h r/w calibration activate cs8_cal cs7_cal cs6_cal cs5_cal cs4_cal cs3_cal cs2_cal cs1_cal ffh table 5.19 interrupt enable register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 27h r/w interrupt enable cs8_ int_en cs7_ int_en cs6_ int_en cs5_ int_en cs4_ int_en cs3_ int_en cs2_ int_en cs1_ int_en ffh
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 44 smsc cap1028 datasheet bit 6 - cs7_int_en - enables the interrupt pin to be asserted if a touch is detected on cs7 (associated with the cs7 status bit). bit 5 - cs6_int_en - enables the interrupt pin to be asserted if a touch is detected on cs6 (associated with the cs6 status bit). bit 4 - cs5_int_en - enables the interrupt pin to be asserted if a touch is detected on cs5 (associated with the cs5 status bit). bit 3 - cs4_int_en - enables the interrupt pin to be asserted if a touch is detected on cs4 (associated with the cs4 status bit). bit 2 - cs3_int_en - enables the interrupt pin to be asserted if a touch is detected on cs3 (associated with the cs3 status bit). bit 1 - cs2_int_en - enables the interrupt pin to be asserted if a touch is detected on cs2 (associated with the cs2 status bit). bit 0 - cs1_int_en - enables the interrupt pin to be asserted if a touch is detected on cs1 (associated with the cs1 status bit). 5.13 repeat rate enable register the repeat rate enable register determines the interrupt behavior of the buttons as described in section 4.6.1 . bit 7 - cs8_rpt_en - enables the repeat rate for capacitive touch sensor 8. ? ?0? - the repeat rate for cs8 is disabled. it will only generate an interrupt when a touch is detected and when a release is detected no matt er how long the touch is held for. ? ?1? (default) - the repeat rate for cs8 is enabled. in the case of a ?touch? event, it will generate an interrupt when a touch is detected and a release is detected. in the case of a ?press and hold? event, it will generate an interrupt when a touch is detected and at the repeat rate so long as the touch is held. it will not generate an interrupt when a release is detected. bit 6 - cs7_rpt_en - enables the repeat rate for capacitive touch sensor 7. bit 5 - cs6_rpt_en - enables the repeat rate for capacitive touch sensor 6. bit 4 - cs5_rpt_en - enables the repeat rate for capacitive touch sensor 5. bit 3 - cs4_rpt_en - enables the repeat rate for capacitive touch sensor 4. bit 2 - cs3_rpt_en - enables the repeat rate for capacitive touch sensor 3. bit 1 - cs2_rpt_en - enables the repeat rate for capacitive touch sensor 2. bit 0 - cs1_rpt_en - enables the repeat rate for capacitive touch sensor 1. table 5.20 repeat rate enable register addrr/wregisterb7b6b5b4b3b2b1b0default 28h r/w repeat rate enable cs8_ rpt_en cs7_ rpt_en cs6_ rpt_en cs5_ rpt_en cs4_ rpt_en cs3_ rpt_en cs2_ rpt_en cs1_ rpt_en ffh
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 45 revision 1.0 (06-16-09) datasheet 5.14 multiple touch configuration register the multiple touch configuration regi ster controls the settin gs for the multiple t ouch detection circuitry. these settings determine the number of simultaneous buttons that may be pressed before action is taken. bit 7 - mult_blk_en - enables the multiple button blocking circuitry. ? ?0? - the multiple touch circuitry is disabl ed. the device will not block multiple touches. ? ?1? (default)- the multiple touch circuitry is en abled. the device will accept the number of touches equal to programmed multiple touch threshold and block all others. it will remember which sensor is valid and block all others until that sensor has been released. bits 3 - 2 - b_mult_t[1:0] - determines the number of simultaneous touches on all sensors before a multiple touch event is flagged. if the number of multiple sensors touc hed is greater than the threshold value then a multiple touch event is flagged. the bit decode is given by ta b l e 5 . 2 2 . 5.15 recalibration configuration register the recalibration configuration regi ster controls the autom atic re-calibration routine settings as well as advanced controls to program the sensor threshold register settings. bit 7 - but_ld_th - enables setting all sensor threshold registers by writing to the sensor 1 threshold register. ? ?0? - each sensor x threshold register is updated individually. ? ?1? (default) - writing the sensor 1 threshold re gister will automatically overwrite the sensor threshold registers for all sensors (sensor threshold 1 through sensor threshold 8). the table 5.21 multiple touch configuration addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 2ah r/w multiple touch config mult_ blk_en - - - b_mult_t[1:0] - - 80h table 5.22 b_mult_t bit decode b_mult_t[1:0] number of simultaneous touches 10 0 0 1 (default) 01 2 10 3 11 4 table 5.23 recalibration configuration registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 2fh r/w recalibration configuration but_ ld_th -- neg_delta_ cnt[1:0] cal_cfg[2:0] 8bh
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 46 smsc cap1028 datasheet individual sensor x threshold registers (sensor 2 threshold through sensor 8 threshold) can be individually updated at any time. bits 4 - 3 - neg_delta_cnt[1:0] - determines th e number of negative delta counts necessary to trigger a digital re-calibration as shown in ta b l e 5 . 2 4 . bits 2 - 0 - cal_cfg[2:0] - determines the update ti me and number of samples of the automatic re- calibration routine. the settings applies to all sensors universally (though individual sensors can be configured to support re-calibration - see section 5.11 ). note 5.1 recalibration samples refers to the number of samples that are measured and averaged before the base count is updated. note 5.2 update time refers to the amount of time (i n polling cycle periods) that elapses before the base count is updated. table 5.24 neg_delta_cnt bit decode neg_delta_cnt[1:0] number of consecut ive negative delta count values 10 00 8 0 1 16 (default) 10 32 1 1 none (disabled) table 5.25 cal_cfg bit decode cal_cfg[2:0] recalibration samples (see note 5.1 ) update time (see note 5.2 ) 210 0 0 0 16 16 001 32 32 010 64 64 0 1 1 256 256 (default) 1 0 0 256 1024 1 0 1 256 2048 1 1 0 256 4096 1 1 1 256 7936
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 47 revision 1.0 (06-16-09) datasheet 5.16 sensor threshold registers the sensor threshold registers store the delta thresh old that is used to determine if a touch has been detected. when a touch occurs, the input signal of the corresponding sensor changes due to the capacitance associated with a touch. if the sensor input change exceeds the threshold settings, then a touch is detected. when the but_ld_th bit is set (see section 5.15 - bit 7), writing data to the sensor 1 threshold register will update all of the sensor threshold registers (31h - 37h inclusive). 5.17 sensor noise threshold registers the sensor noise threshold registers control the va lue of a secondary internal threshold to detect noise and improve the automatic recalibration routine. if a capacitive touch sensor output exceeds the sensor noise threshold but does not exceed th e sensor threshold, then it is determined to be caused by a noise spike. that sample is no t used by the automatic re-calibration routine. the sensor noise threshold is proportional to the programmed threshold as shown in ta b l e 5 . 2 8 . table 5.26 sensor threshold registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 30h r/w sensor 1 threshold -6432168421 40h 31h r/w sensor 2 threshold -6432168421 40h 32h r/w sensor 3 threshold -6432168421 40h 33h r/w sensor 4 threshold -6432168421 40h 34h r/w sensor 5 threshold -6432168421 40h 35h r/w sensor 6 threshold -6432168421 40h 36h r/w sensor 7 threshold -6432168421 40h 37h r/w sensor 8 threshold -6432168421 40h table 5.27 sensor noise threshold registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 38h r/w sensor noise threshold 1 cs4_bn_th [1:0] cs3_bn_th [1:0] cs2_bn_th [1:0] cs1_bn_th [1:0] 55h 39h r/w sensor noise threshold 2 cs8_bn_th [1:0] cs7_bn_th [1:0] cs6_bn_th [1:0] cs5_bn_th [1:0] 55h
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 48 smsc cap1028 datasheet 5.17.1 sensor noise threshold 1 register the sensor noise threshold 1 register controls the noise threshold for capacitive touch sensors 1-4. bits 7-6 - cs4_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 4. bits 5-4 - cs3_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 3. bits 3-2 - cs2_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 2. bits 1-0 - cs1_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 1. 5.17.2 sensor noise threshold 2 register the sensor noise threshold 2 register controls the noise threshold for capacitive touch sensors 5 - 8. bits 7-6 - cs8_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 8. bits 5-4 - cs7_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 7. bits 3-2 - cs6_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 6. bits 1-0 - cs5_bn_th[1:0] - controls the noise threshold for capacitive touch sensor 5. 5.18 standby channel register the standby channel register controls which (if any) capacitive touch sensors are active during standby. bit 7 - cs8_stby - controls whether the cs8 channel is active in standby. ? ?0? (default) - the cs8 channel not be sampled during standby. ? ?1? - the cs8 channel will be sampled during standby. it will use the standby threshold setting, and the standby averaging and sensitivity settings. bit 6 - cs7_stby - controls whether the cs7 channel is active in standby. table 5.28 csx_bn_th bit decode csx_bn_th[1:0] threshold divide setting 10 0025% 0 1 37.5% (default) 1050% 1162.5% table 5.29 standby channel register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 40h r/w standby channel cs8_ stby cs7_ stby cs6_ stby cs5_ stby cs4_ stby cs3_ stby cs2_ stby cs1_ stby 00h
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 49 revision 1.0 (06-16-09) datasheet bit 5 - cs6_stby - controls whether the cs6 channel is active in standby. bit 4 - cs5_stby - controls whether the cs5 channel is active in standby. bit 3 - cs4_stby - controls whether the cs4 channel is active in standby. bit 2 - cs3_stby - controls whether the cs3 channel is active in standby. bit 1 - cs2_stby - controls whether the cs2 channel is active in standby. bit 0 - cs1_stby - controls whether the cs1 channel is active in standby. 5.19 standby configuration register the standby configuration register controls averagin g and cycle time for those sensors that are active in standby. bit 7 - avg_sum - determines whether the active sensors will average the programmed number of samples or whether they will accumulate for the programmed number of samples. ? ?0? - (default) - the active sensor delta count values will be based on the average of the programmed number of samples when compared against the threshold. ? ?1? - the active sensor delta count values w ill be based on the summ ation of the programmed number of samples when compared against the threshold. bits 5 - 3 - stby_avg[2:0] - determines the number of samples that are taken for all active channels during the sensor cycle as shown in ta b l e 5 . 3 1 . all samples are taken consecutively on the same channel before the next channel is sampled and the result is averaged over the number of samples measured before updating the measured results. bit 2 - stby samp_time - determines the sampling time used while in standby. table 5.30 standby configuration register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 41h r/w standby configuration avg_ sum - stby_avg[2:0] stby_ samp_ time stby_cy_time [1:0] 1dh table 5.31 stby_avg bit decode stby_avg[2:0] number of samples taken per measurement 210 000 1 001 2 010 4 0 1 1 8 (default) 100 16 101 32 110 64 1 1 1 128
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 50 smsc cap1028 datasheet ? ?0? - the sampling time is ~2.56ms for each sensor. ? ?1? (default) - the sampling time is ~1.28ms for each sensor. bits 1 - 0 - stby_cy_time[2:0] - determines the ov erall cycle time for all measured channels during normal operation as shown in ta b l e 5 . 1 7 . all measured channels are sampled at the beginning of the cycle time. if additional time is remaining, then th e device is placed into a lower power state for the remaining duratio n of the cycle. application note: the programmed cycle time is only maintained if the total averaging ti me for all samples is less than the programmed cycle. the stby_avg[2:0] bits will take priority so that if more samples are required than would normally be allowed during the cycle time, the cycle time will be extended as necessary to accommodate the number of samples to be measured. 5.20 standby sensitivity register the standby sensitivity register controls the sensitivity for sens ors that are active in standby. bits 2 - 0 - stby_sense[2:0] - controls the sensitiv ity for sensors that are active in standby. the sensitivity settings act to scale the relative delta count value higher or lower based on the system parameters. a setting of 000b is the most sensitive wh ile a setting of 111b is the least sensitive. at the more sensitive settings, touches are detected for a smaller delta c corresponding to a ?lighter? touch. these settings are more sensitive to noise however and a noisy environment may flag more false touches than higher sensitivity levels. application note: a value of 128x is the most sens itive setting available. at the most sensitivity settings, the msb of the delta count register represents 64 out of ~25,000 which corresponds to a touch of approximately 0.25% of the base capacitance (or a c of 25ff from a 10pf base capacitance). conversely a val ue of 1x is the least sensitiv e setting available. at these settings, the msb of the delta count register corresponds to a delta count of 8192 counts out of ~25,000 which corresponds to a touch of approximately 33% of the base capacitance (or a c of 3.33pf from a 10pf base capacitance). table 5.32 stby_cy_time bit decode stby_cy_time[1:0] overall cycle time 10 00 35ms 0 1 70ms (default) 1 0 105ms 1 1 140ms table 5.33 standby configuration register addrr/wregister b7 b6 b5b4b3b2b1b0default 42h r/w standby sensitivity - - - - - stby_sense[2:0] 02h
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 51 revision 1.0 (06-16-09) datasheet 5.21 standby threshold register the standby threshold registers stores the delta th reshold that is used to determine if a touch has been detected. when a touch occurs , the input signal of the corresponding sensor changes due to the capacitance associated with a touch. if the sensor input change exceeds the threshold settings, then a touch is detected. 5.22 sensor base count registers table 5.34 stby_sense bit decode stby_sense[2:0] sensitivity multiplier 210 0 0 0 128x (most sensitive) 001 64x 0 1 0 32x (default) 011 16x 100 8x 101 4x 110 2x 1 1 1 1x - (least sensitive) table 5.35 standby threshold register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 43h r/w standby threshold -6432168421 40h table 5.36 sensor base count registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 50h r sensor 1 base count 128 64 32 16 8 4 2 1 c8h 51h r sensor 2 base count 128 64 32 16 8 4 2 1 c8h 52h r sensor 3 base count 128 64 32 16 8 4 2 1 c8h 53h r sensor 4 base count 128 64 32 16 8 4 2 1 c8h 54h r sensor 5 base count 128 64 32 16 8 4 2 1 c8h
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 52 smsc cap1028 datasheet the sensor base count registers store the calibra ted ?not touched? input value from the capacitive touch sensor inputs. these registers are periodi cally updated by the re-calibration routine. the routine uses an internal adder to add the current count value for each reading to the sum of the previous readings until sample size has been reac hed. at this point, the upper 16 bits are taken and used as the sensor base count. the internal adder is then reset and the re-calibration routine continues. the data presented is determined by the base_shift[3:0] bits (see section 5.5 ). 5.23 led output type register the led output type register contro ls the type of output for the led pins. each pin is controlled by a single bit. bit 1 - led2_ot - determines t he output type of the led2 pin. ? ?0? (default) - the led2 pin is an open-drain out put with an external pull-up resistor. when the appropriate pin is set to the ?active? state (log ic ?1?) then the pin will be driven low. conversely, when the pin is set to the ?inactive? state (logic ?0?, then the pin will be left in a high z state and pulled high via an external pull-up resistor. ? ?1? - the led2 pin is a push-pull output. when driving a logic ?1? the pin is driven high. when driving a logic ?0? the pin is driven low. bit 0 - led1_ot - determines t he output type of the led1 pin. 5.24 sensor led linking register 55h r sensor 6 base count 128 64 32 16 8 4 2 1 c8h 56h r sensor 7 base count 128 64 32 16 8 4 2 1 c8h 57h r sensor 8 base count 128 64 32 16 8 4 2 1 c8h table 5.37 led output type register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 71h r/w led output type ------ led2_ ot led1_ ot 00h table 5.38 sensor led linking register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 72h r/w sensor led linking ------ cs2_ led2 cs1_ led1 00h table 5.36 sensor base count registers (continued) addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 53 revision 1.0 (06-16-09) datasheet the sensor led linking registers control whether a capacitive touch sensor is linked to an led output or not. if the corresponding bit is set, then the appropriate led output will change states defined by the led behavior controls (see section 5.27 ) in response to the capacitive touch sensor. bit 1 - cs2_led2 - links the led2 output to a detected touch on the cs2 sensor. when a touch is detected, the led is actuated and will behave as determined by the led behavior controls. ? ?0? (default) - the led 2 output is not associated with a the cs2 input. if a touch is detected on the cs2 input, then the led will not automatically be actuated. the led is enabled and controlled via the led output configuration register (see section 5.24 ) and the led behavior registers (see section 5.27 ). ? ?1? - the led 2 output is associated with the cs2 input. if a touch is detected on the cs2 input then the led will be actuated and behave as defined in ta b l e 5 . 4 3 . bit 0 - cs1_led1 - links the led1 output to a detected touch on the cs1 sensor. when a touch is detected, the led is actuated and will behave as determined by the led behavior controls. 5.25 led polarity register the led polarity registers control the logical polarity of the led outputs. application note: the polarity controls determine the final led pi n drive. a touch on a linked capacitive touch sensor is treated in the same way as the led output control bit being set to a logic ?1?. application note: for led operation, the duty cycle settings dete rmine the % of time that the led pin will be driven to a logic ?1? state in a non-inverted system or to a logic ?0? state in an inverted system. the duty cycle settings operate independently of the polarity controls. therefore, the max duty cycle settings define the maximum % of time that the led pin will be driven high in a non-inverted system while the min duty cycle settings determine the minimum % of time that the led pin will be driven high in a non-inverted system. the led drive assumes that the leds are confi gured such that if the led pin is driven to a logic ?0? then the led will be on and that t he cap1028 led pin is sinking the led current. conversely, if the led pin is driven to a logic ?1? then the led will be off and there is no current flow. finally, the breathe operations will always ramp the duty cycle from the minimum duty cycle to the maximum duty cycle and then back down to the minimum duty cycle. the led polarity controls lead to two conditio ns that have the apparent effect of changing the duty cycle settings. if an led output is non-inverted then the maximum duty cycle settings will define the maximum % of time that the led is off . conversely the minimum duty cycle settings will define the mi nimum % of time that the led is off . as well, when there is no touch detected or the led output control register bit is at a logic ?0? then the led output will be driven at the minimum duty cycle setting. the relative brightness will then ramp from maximum to minimum and back. if an led output is inverted, then the maximum duty cycle settings will define the maximum % of time that the led is on and the minimum duty cycle settings will determine the minimum % of time that the led is on . as well, when there is no touch detected, or the led output control register bit is at a logic ?0?, then the led output will be driven at the minimum duty cycle setting. the relative brightness wil l then ramp from mi nimum to maximum and back. table 5.39 led polarity register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 73h r/w led polarity - - - - - - led2_ pol led1_ pol 00h
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 54 smsc cap1028 datasheet bit 1 - led2_pol - determines the polarity of the led2 output. ? ?0? - the led2 output is inverted. a setting of ?1? in the led output register will cause the output to be driven to a logic ?0? as determined by the led behavior. similarly, the duty cycles corresponding to pulse and breathe operations will indicate the amount of time that the led is driven to a logic ?0? state (corresponding to ?active?). ? ?1? - the led2 output is non-inverted. a setting of ?1? in the led output register will cause the output to be driven to a logic ?1? or left in the high-z state as determined by its output type and led behavior. similarly, the duty cycles corresponding to pulse and breathe operations will indicate to the amount of time that the led is driven to a logic ?1? state (corresponding to ?inactive?). bit 0 - led1_pol - determines the polarity of the led1 output. 5.26 led output control register the led output control register contro ls the output state of the led pins. all leds that are associated with a capacitive touch sensor channel are automatically enabled and will be actuated per the led behavior. for those leds that are not linked with a capaci tive touch sensor channel, then the bit state determines whether the led is actuated or not actuated. the led polarity control register will determine the non actuated state of the led pins. table 5.41 shows the interaction between the polarity cont rols, output controls and relative brightness. table 5.40 led output control register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 74h r/w led output control ------ led2_ dr led1_ dr 00h table 5.41 led polarity behavior led output control register polarity max duty min duty led behaviors brightness led appearance 0 inverted maximum % of time that the led is on (logic 0) minimum % of time that the led is on (logic 0) off maximum brightness at minimum duty cycle on at minimum duty cycle 1 inverted maximum % of time that the led is on (logic 0) minimum % of time that the led is on (logic 0) on maximum brightness at max duty cycle. brightness ramps from min to max according to led behavior 0 non- inverted maximum % of time that the led is off (logic 1) minimum % of time that the led is off (logic 1) off maximum brightness at 100 - min duty cycle on at 100 - min duty cycle ( note 5.3 ) 1 non- inverted maximum % of time that the led is off (logic 1) minimum % of time that the led is off (logic 1) on maximum brightness at 100 - min duty cycle. brightness ramps from max to min according to led behavior
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 55 revision 1.0 (06-16-09) datasheet note 5.3 for example: when polarity is non-inverted, if min duty cycle is 0, then the led would be at logic 1 (off) 0% of the time. it will be at logic 0 (on), 100% of the time (100 - min duty cycle). bit 1 - led2_dr - determines whether led2 output is driven high or low. ? ?0? (default) - the led2 output is driven at the minimum duty cycle or not actuated. ? ?1? - the led2 output is high z or driven at the maximum duty cycle or actuated. bit 0 - led1_dr - determines whether led1 output is driven high or low. 5.27 led behavior registers the led behavior registers control the operation of leds. each led pin is controlled by a 2-bit field and the behavior is determined by whether the led is linked to a capacitive touch sensor or not. if the corresponding led output is linked to a capaci tive touch sensor than the start and stop triggers are used. the defined behavior will activate when the start trigger is met and will stop when the stop trigger is met. if the led output is not associated with a a capacitive touch sensor, then the appropriate behavior will be enabled / disabled by the led output control register. if the respective ledx_dr bit is set to a logic ?1? then this will be associated as a ?touch? and if the ledx_dr bit is set to a logic ?0? then this will be associated as a ?release?. the led polarity control register will determine th e non actuated state of t he led outputs. if the led polarity control register is set to be inverted ( default), then an non actuat ed led pin will be driven to a logic ?1? state and the led will be off. if the led polarity control register is set to be non-inverted, then the non actuated led pin will be driven to the logic ?0? state and the led will be on. application note: if an led is not linked to a capacitive t ouch sensor and is breathing (via the breathe or pulse behaviors), it will finish its current ?breath? before any changes to behavior are processed. application note: if an led is not linked to the capacitive touc h sensor and configured to operate using pulse 1 behavior, then the circuitry will only be actuated when the corresponding bit is set. it will not check the bit condition until the puls e 1 behavior is finished. the device will not remember if the bit was cleared and reset while it was actuated. application note: if an led is actuated and it is switched from linked to a capacitive touch sensor to unlinked (or vice versa), then the led will respond to the new command source immediately. for example, if a linked led was actuated by a touch and the control is changed so that it is unlinked, it will check the status of the correspond ing led output control bit. if that bit is ?0?, then the led will behave as if a release was detected. likewise, if an unlinked led was actuated by the led output control register and the control is changed so that it is linked and no touch is detected, then the led wil l behave as if a release was detected. application note: if the period for any breathe operation is ch anged while the led is ac tuated, then the led output will be reset to 0% drive and any breat hing will re-initiate at the new settings. for pulse 1 and pulse 2 behaviors, the number of pulses will be retained. bits 3 - 2 - led2_ctl[1:0] - determines the behavior of led2 as shown in table 5.43 . bits 1 - 0 - led1_ctl[1:0] - determines the behavior of led1 as shown in table 5.43 . table 5.42 led behavior registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 81h r/w led behavior - - - - led2_ctl[1:0] led1_ctl[1:0] 00h
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 56 smsc cap1028 datasheet application note: the pwm frequency is determined based on the selected led behavior, the programmed breathe period , and the programmed min and max duty cycles. for the direct mode, the pwm frequency is calculated based on the programmed rise and fall times. if these are set at 0, then the maximum pwm frequency will be used based on the programmed duty cycle settings. 5.28 led pulse 1 period register the led pulse period register determines the overall period of a pulse operation as determined by the led_ctl registers (see ta b l e 5 . 4 3 - setting 01b). each lsb represents 32ms so that a setting of 14h (20d) would represent a period of 640ms. the to tal range is from 32ms to 4.06 seconds as shown in ta b l e 5 . 4 5 . bit 7 - st_trig - determines the start trigger for the led pulse behavior. ? ?0? (default) - the led will pulse when a touch is detected. ? ?1? - the led will pulse when a release is detected. table 5.43 ledx_ctl bit decode ledx_ctl [1:0] operation description start trigger stop trigger 10 0 0 direct the led is driven to the programmed state (active or inactive). see figure 5.5 touch detected or led control bit set release detected or led control bit cleared 01 pulse 1 the led will ?pulse? a programmed number of times. during each ?pulse? the led will breathe up to the maximum brightness and back down to the minimum brightness so that the total ?pulse? period matches the programmed value. touch or release detected (see section 5.31 ) or led control bit set n/a 1 0 pulse 2 the led will breathe when the start trigger is detected. when the stop trigger is detected, it will ?pulse? a number of times then return to its minimum brightness. touch detected or led control bit set release detected or led control bit cleared 1 1 breathe the led will breathe. it will be driven with a duty cycle that ramps up from the programmed minimum duty cycle (default 0%) to the programmed maximum duty cycle duty cycle (def ault 100%) and then back down. each ramp takes up 50% of the programmed period. the total period of each ?breath? is determined by the led breathe period controls - see section 5.30 . touch detected or led control bit set release detected or led control bit cleared table 5.44 led pulse 1 period register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 84h r/w led pulse 1 period st_ trig p1_ per6 p1_ per5 p1_ per4 p1_ per3 p1_ per2 p1_ per1 p1_ per0 20h
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 57 revision 1.0 (06-16-09) datasheet the pulse 1 operation is shown in figure 5.1 when the led output is configured for non-inverted polarity and in figure 5.2 for inverted polarity. . figure 5.1 pulse behavior with non-inverted polarity figure 5.2 pulse behavior with inverted polarity normal ? untouched operation normal ? untouched operation touch detected or release detected (100% - pulse 1 max duty cycle) * brightness x pulses after touch or after release pulse 1 period (p1_per) (100% - pulse 1 min duty cycle) * brightness led brightness normal ? untouched operation normal ? untouched operation touch detected or release detected pulse 1 min duty cycle * brightness x pulses after touch or after release pulse period (p1_per) pulse 1 max duty cycle * brightness led brightness
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 58 smsc cap1028 datasheet 5.29 led pulse 2 period register the led pulse 2 period register determines the ov erall period of a pulse operation as determined by the led_ctl registers (see ta b l e 5 . 4 3 - setting 10b). each lsb represents 32ms so that a setting of 14h (20d) would represent a period of 640ms. the total range is from 32ms to 4.06 seconds (see table 5.45 ). the pulse 2 behavior is shown in figure 5.3 for non-inverted polarity and in figure 5.4 for inverted polarity. table 5.45 led pulse / breathe period example setting (hex) setting (decimal) total breathe / pulse period (ms) 00h 0 32 01h 1 32 02h 2 64 03h 3 96 04h 4 128 . . . . . . . . . 7ch 124 3,968 7dh 125 4,000 7eh 126 4,032 7fh 127 4.064 table 5.46 led pulse 2 period register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 85h r/w led pulse 2 period - p2_ per6 p2_ per5 p2_ per4 p2_ per3 p2_ per2 p2_ per1 p2_ per0 14h
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 59 revision 1.0 (06-16-09) datasheet 5.30 led breathe period register the led breathe period register determines the overall period of a breathe operation as determined by the led_ctl registers (see ta b l e 5 . 4 3 - setting 11b). each lsb represents 32ms so that a setting of 14h (20d) would represent a period of 640ms. t he total range is from 32ms to 4.06 seconds (see table 5.45 ). figure 5.3 pulse 2 behavior with non-inverted polarity figure 5.4 pulse 2 behavior with inverted polarity table 5.47 led behavior registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 86h r/w led breathe period - br_ per6 br_ per5 br_ per4 br_ per3 br_ per2 br_ per1 br_ per0 5dh . . . normal ? untouched operation normal ? untouched operation touch detected (100% - pulse 2 min duty cycle) * brightness (100% - pulse 2 max duty cycle) * brightness x additional pulses after release release detected breathe and pulse period (p2_per) led brightness normal ? untouched operation normal ? untouched operation touch detected pulse 2 max duty cycle * brightness pulse 2 min duty cycle * brightness x additional pulses after release release detected breathe and pulse period led brightness . . .
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 60 smsc cap1028 datasheet 5.31 led configuration register the led configuration register c ontrols general led behavior as we ll as the number of pulses that are sent for the pulse led output behavior. bit 6 - ramp_alert - determines whether t he device will assert the alert# pin when leds actuated by the led output cont rol register bits have finished their respective behaviors. ? ?0? (default) - the alert# pin will not be asserted when leds actuated by the led output control register have finished their programmed behaviors. ? ?1? - the alert# pin will be asserted whenever any led that is actuated by the led output control register has finished its programmed behavior. bits 5 - 3 - pusle2_cnt[2:0] - determines the number of pules used for the pulse 2 behavior as shown in ta b l e 5 . 4 9 . bits 2 - 0 - pulse1_cnt[2:0] - determines the num ber of pulses used for the pulse 1 behavior as shown in ta b l e 5 . 4 9 . table 5.48 led configuration registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 88h r/w led config - ramp_ alert pulse2_cnt[2:0] pulse1_cnt[2:0] 04h table 5.49 pulsex_cnt decode pulsex_cnt[2:0] number of breaths 21 0 0 0 0 1 (default - pulse 2) 00 1 2 01 0 3 01 1 4 1 0 0 5 (default - pulse 1) 10 1 6 11 0 7 11 1 8
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 61 revision 1.0 (06-16-09) datasheet 5.32 led duty cycle registers the led duty cycle registers de termine the minimum and maximum du ty cycle settings used for the led for each led behavior. these settings affect t he brightness of the led when it is fully off and fully on. the led driver duty cycle will ramp up from the minimum duty cycle (see section 5.32 ) to the maximum duty cycle and back down again. application note: changes to the duty cycle settings will be applie d immediately. when the respective register is written, the led output will be reset to t he minimum (or maximum) setting and restarted at the updated settings. application note: upon power on reset (or upon release of the reset pin), the first breath will breathe from 100% (or 0% duty cycle as determined by t he polarity registers) to the programmed minimum (or maximum as determined by the polarity registers) and then proceed normally. bits 7 - 4 - x_max_duty[3:0] - determines t he maximum pwm duty cycle for the led drivers as shown in ta b l e 5 . 5 1 bits 3 - 0 - x_min_duty[3:0] - determines t he minimum pwm duty cycle for the led drivers as shown in ta b l e 5 . 5 1 . table 5.50 led duty cycle registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 90h r/w led pulse 1 duty cycle p1_max_duty[3:0] p1_min_duty[3:0] f0h 91h r/w led pulse 2 duty cycle p2_max_duty[3:0] p2_min_duty[3:0] f0h 92h r/w led breathe duty cycle br_max_duty[3:0] br_min_duty[3:0] f0h 93h r/w direct duty cycle dr_max_duty[3:0] dr_ min_duty[3:0] f0h table 5.51 led duty cycle decode x_max/min_duty [3:0] duty cycle 32 1 0 00 0 0 1% 00 0 1 2% 00 1 0 3% 01 1 1 4% 01 0 0 5% 01 0 1 6% 01 1 0 7% 01 1 1 9%
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 62 smsc cap1028 datasheet 5.33 led direct ramp rates register the led direct ramp rates register control t he rising and falling edge time of an led that is configured to operate in direct mode. the rising edg e time corresponds to the amount of time the led takes to transition from its mini mum duty cycle to its maximum duty cycle. conversely, the falling edge time corresponds to the amount of time that t he led takes to transition from its maximum duty cycle to its minimum duty cycle. bits 5 - 3 - rise_rate[2:0] - determines the rising edge time of an led when it transitions from its minimum drive state to its maximum drive state as shown in table 5.53 . bits 2 - 0 - fall_rate[2:0] - determines the falling e dge time of an led when it transitions from its maximum drive state to its minimum drive state as shown in table 5.53 . 10 0 0 11% 10 0 1 14% 10 1 0 18% 10 1 1 25% 11 0 0 35% 11 0 1 50% 11 1 0 70% 11 1 1 99% table 5.52 led direct ramp rates register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 94h r/w led direct ramp rates - - rise_rate[2:0] fall_rate[2:0] 00h table 5.53 rise / fall rate and off delay decode rise_rate/ fall_rate / dir_off_dly [2:0] rise / fall time (t rise / t fall ), off delay (t off ) 21 0 00 0 0 0 0 1 250ms 0 1 0 500ms 1 1 1 750ms 10 0 1s table 5.51 led duty cycle decode (continued) x_max/min_duty [3:0] duty cycle 32 1 0
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 63 revision 1.0 (06-16-09) datasheet 5.34 led off delay register the led off delay register determines the amount of time an led in direct mode remains active after it is no longer actuated (such as after a rele ase has been detected or the drive state has been changed). bits 2 - 0 - dir_off_dly[2:0] - determines the tu rn-off delay for all leds that are configured to operate in direct mode as shown in table 5.53 . the direct mode operation is determined by the comb ination of programmed rise time, fall time, min and max duty cycles, off delay, and polarity. figure 5.5 shows the behavior for non-inverted polarity while figure 5.6 shows the behavior for inverted polarity. 10 1 1.25s 11 0 1.5s 11 1 2s table 5.54 led off delay register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 95h r/w led off delay register - - - - dir_off_dly [2:0] 00h figure 5.5 direct mode behavi or for non-inverted polarity table 5.53 rise / fall rate and off delay decode (continued) rise_rate/ fall_rate / dir_off_dly [2:0] rise / fall time (t rise / t fall ), off delay (t off ) 21 0 normal ? untouched operation rise_rate setting (t rise ) (100% - max duty cycle) * brightness touch detected release detected off delay (t off_dly ) fall_rate setting (t fall ) normal ? untouched operation (100% - min duty cycle) * brightness led brightness
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 64 smsc cap1028 datasheet 5.35 product id register the product id register stores a unique 8-bit value that identifies the device. 5.36 manufacturer id register the vendor id register stores an 8-bit value that represents smsc. 5.37 revision register the revision register stores an 8-bit va lue that represents the part revision. figure 5.6 direct mode beha vior for inverted polarity table 5.55 product id register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default fdhr product id 01000010 42h table 5.56 vendor id register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default feh rmanufacturer id01011101 5dh table 5.57 revision register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default ffhr revision 10000000 80h normal ? untouched operation rise_rate setting (t rise ) min duty cycle * brightness touch detected release detected off delay (t off_dly ) fall_rate setting (t fall ) normal ? untouched operation max duty cycle * brightness led brightness
smsc cap1028 65 revision 1.0 (06-16-09) datasheet 8 channel capacitive touch sensor with 2 led drivers datasheet chapter 6 package information 6.1 cap1028 package drawings figure 6.1 20-pin qfn 4mm x 4mm package drawing
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 66 smsc cap1028 datasheet figure 6.2 20-pin qfn 4mm x 4mm package dimensions figure 6.3 20-pin qfn 4mm x 4mm pcb drawing
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 67 revision 1.0 (06-16-09) datasheet 6.2 package marking figure 6.4 cap1028 package markings bottom bottom marking not allowed line: 1 ? smsc logo without circled (r) symbol line: 2 ? device number line: 3 ? last 7 digits of lot number line: 4 ? revision and country code ( rcc) lines 1 to 3: center horizontal alignment line 4: left horizontal alignment pb-free/green symbol (matte sn) 0.41 3x 0.56 top e3 pin 1 1028 cc r 123456a - 1
8 channel capacitive touch sensor with 2 led drivers datasheet revision 1.0 (06-16-09) 68 smsc cap1028 datasheet chapter 7 revision history table 7.1 customer revision history revision level & date secti on/figure/entr y correction rev. 1.0 (06-11-09) section 3.1, "communications" updated paragraph to describe proper addr_comm pin function rev. 1.0 (06-11-09) section 4.3, "wake/spi_mosi pin operation" updated text for wake pin during deep sleep rev. 1.0 (06-11-09) chapter 1, pin description updated pin description for wake/spi_mosi pin to identify that it can be an input during deep sleep. rev. 1.0 (06-11-09) figure 4.1, "system diagram for cap1028" updated system diagram for proper addr_comm pin usage. changed from pull-up to vdd to pull- down to gnd rev. 1.0 (06-11-09) grammar and/or formatting changes throughout document rev. 1.0 (06-10-09) features and general description modified rev. 1.0 (06-10-09) section 3.7, "bc-link interface" removed ?8051? from 2nd paragraph rev. 1.0 (06-10-09) pin description pin tables modified adding spi to ?alert# / bc_irq#? pin rev. 1.0 (06-10-09) table 3.1, "addr_comm pin decode" ?/i2c? added ?smbus? in ?protocol used? column y/rev. 1.0 (06-10-09) chapter 4, general description second to last paragraph removed, not needed as clarification follows rev. 1.0 (06-10-09) section 4.1, "power states" removed mention of led driver outputs rev. 1.0 (06-10-09) section 4.2, "reset pin" modified to indicate all communication buses rev. 1.0 (06-10-09) section 4.4, "led drivers" ?pulse 1? modified rev. 1.0 (06-04-09) section 4.4, "led drivers" updated text for # of leds rev. 1.0 (06-04-09) table 5.1, "register set in hexadecimal order" updated text and register descriptions for incorrect #?s cap sense channels rev 1.0 (06-04-09) figure 3.1, "spi timing" updated figure rev. 1.0 (06-02-09) note following table 2.1, "absolute maximum ratings" text modified from ?0.3 (12mil)? to ?0.3mm (12mil)? rev. 0.56 (5/1/09) general fixed typos and updated text as necessary. cleaned up system diagrams
8 channel capacitive touch sensor with 2 led drivers datasheet smsc cap1028 69 revision 1.0 (06-16-09) datasheet rev. 0.54 (4/24/09) figure 4.1, "system diagram for cap1028" updated figures for pin names rev. 0.54 (4/24/09) general fixed typos rev. 0.54 (4/24/09) section 5.5, "sensitivity control register" renamed bit fields rev. 0.54 (4/24/09) section 5.6, "configuration register" renamed bits 5 and 6 rev. 0.53 (4/23/09) section 3.4, "spi interface" updated section to describe normal operation rev. 0.52 (4/17/09) general initial document creation table 7.1 customer revision history (continued) revision level & date secti on/figure/entr y correction


▲Up To Search▲   

 
Price & Availability of CAP1028-1-BP-TR

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X